• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vortex-data / vortex / 16906445831
88%

Build:
DEFAULT BRANCH: develop
Ran 12 Aug 2025 10:46AM UTC
Jobs 2
Files 638
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Aug 2025 10:41AM UTC coverage: 87.043% (+0.4%) from 86.68%
16906445831

push

github

web-flow
chore: improve vortex-dtype test coverage (#4204)

# Summary of Changes in vortex-dtype

## 1. **DecimalDType Safety Improvements** ✅
- Added `try_new()` fallible constructor that returns `Result`
- Added `MIN_SCALE` constant (-76) validation 
- `new()` now calls `try_new()` internally with panic on error
- Validates precision ≤ MAX_PRECISION (76)
- Validates scale within [MIN_SCALE, MAX_SCALE] range
- Updated all serialization code to use `try_new()`:
  - `arrow.rs`: Arrow type conversions
  - `serde/flatbuffers/mod.rs`: FlatBuffer deserialization  
  - `serde/proto.rs`: Protobuf deserialization

## 2. **StructFields API Enhancement** ✅
- Added `try_without_field()` that returns `Result` for safe field
removal
- Deprecated `without_field()` which panics on invalid index
- Proper bounds checking with descriptive error messages

## 3. **Comprehensive Test Coverage** ✅
### decimal.rs (160 new lines)
- Boundary testing for MAX/MIN precision and scale
- Negative scale validation
- Bit width calculations
- Type conversion tests

### field_mask.rs (219 new lines)  
- All three mask types (All, Prefix, Exact)
- `step_into()` transitions
- `starting_field()` behavior
- Helper functions for test construction
- Removed TODO comment about API improvements

### nullability.rs (67 new lines)
- BitOr operator combinations
- Bool conversions and round-trips
- Chained operations

### serde/flatbuffers/project.rs (172 new lines)
- Field resolution by name
- Field extraction from structs
- Projection and deserialization
- Error cases for missing fields

### serde/proto.rs (249 new lines)
- Round-trip tests for all DType variants
- PType conversions
- FieldPath serialization
- Error cases for invalid data

## 4. **Other Crates Updated** ✅
- `vortex-duckdb`: Uses `DecimalDType::new()` (still safe due to
internal try_new)
- `vortex-python`: Uses `DecimalDType::new()` (still safe)
- Both maintain backwards compatibility

## Summary Statistics
- **Files changed**: 12
- **In... (continued)

650 of 655 new or added lines in 12 files covered. (99.24%)

1 existing line in 1 file now uncovered.

55118 of 63323 relevant lines covered (87.04%)

535056.59 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
62.64
0.0% vortex-duckdb/src/convert/vector.rs
2
89.64
-0.64% vortex-array/src/arrays/struct_/mod.rs
2
90.0
0.0% vortex-dtype/src/arrow.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
87.3
-0.41% vortex-scalar/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 run-tpc-h - 16906445831.1 12 Aug 2025 10:46AM UTC 579
48.12
GitHub Action Run
2 run-tests - 16906445831.2 12 Aug 2025 10:47AM UTC 638
84.93
GitHub Action Run
Source Files on build 16906445831
  • Tree
  • List 638
  • Changed 15
  • Source Changed 12
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #16906445831
  • 1820a139 on github
  • Prev Build on develop (#16896842992)
  • Next Build on develop (#16910844745)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc