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

vortex-data / vortex / 16906445831 / 2
88%
develop: 88%

Build:
DEFAULT BRANCH: develop
Ran 12 Aug 2025 10:47AM UTC
Files 638
Run time 18s
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: 84.93% (+0.4%) from 84.555%
16906445831.2

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)

53862 of 63419 relevant lines covered (84.93%)

396080.39 hits per line

Source Files on job run-tests - 16906445831.2
  • Tree
  • List 638
  • Changed 15
  • Source Changed 12
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 16906445831
  • 1820a139 on github
  • Prev Job for on develop (#16896842992.1)
  • Next Job for on develop (#16910844745.1)
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