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

vortex-data / vortex / 16885597172
88%

Build:
DEFAULT BRANCH: develop
Ran 11 Aug 2025 04:13PM 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

11 Aug 2025 04:09PM UTC coverage: 86.314% (+0.1%) from 86.216%
16885597172

push

github

web-flow
fix: race condition in vortex-layout, plus test improvements (#4198)

# Vortex Layout Improvements Summary

## Overview
This document summarizes all changes made to improve test coverage, fix
bugs, and enhance the reliability of the `vortex-layout` crate.

## Changes Summary
- **Files Modified**: 13 files
- **Lines Added**: 421
- **Lines Removed**: 31
- **Tests Added**: New comprehensive test suite for LayoutChildType and
RowIdxExpr
- **Bugs Fixed**: 11

## 1. Test Coverage Improvements

### Added High-Value Tests

#### `layout.rs` - LayoutChildType Tests
- **Test Count**: 6 test functions with multiple cases
- **Coverage**: Tests all variants (Chunk, Field, Auxiliary,
Transparent)
- **Features Tested**:
  - Name generation for each variant type
  - Row offset calculation logic
  - Equality comparisons between variants
  - Edge cases with special characters in field names
  - Parameterized tests using rstest for comprehensive coverage

#### `expr_test.rs` - RowIdxExpr VTable Tests  
- **Test Count**: 13 test functions
- **Coverage**: Complete VTable implementation testing
- **Features Tested**:
  - VTable ID verification
  - Encoding reference consistency
  - Metadata handling
  - Children management (should have none)
  - Build operations with various inputs
  - Error handling for invalid operations
  - Return type verification across different scopes

## 2. Critical Bug Fixes

### 2.1 Integer Underflow Protection
**File**: `layouts/chunked/reader.rs:85`
```rust
// Before: Could underflow if x == 0
.unwrap_or_else(|x| x - 1);

// After: Safe with saturating subtraction
.unwrap_or_else(|x| x.saturating_sub(1));
```

### 2.2 Division by Zero Prevention
**File**: `layouts/zoned/mod.rs:131`
```rust
// Added validation
if zone_len == 0 {
    vortex_panic!("Zone length must be greater than 0");
}
```

### 2.3 Race Condition Fix
**File**: `layouts/zoned/reader.rs:334-339`

**Problem**: Double-checked locking pattern had a race condition with
two separate re... (continued)

207 of 219 new or added lines in 7 files covered. (94.52%)

1 existing line in 1 file now uncovered.

53618 of 62120 relevant lines covered (86.31%)

545425.28 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
85.86
0.0% vortex-layout/src/children.rs
1
89.08
-0.58% vortex-layout/src/layouts/zoned/mod.rs
1
84.62
-0.94% vortex-layout/src/segments/events.rs
4
90.0
-0.22% vortex-layout/src/layouts/zoned/reader.rs
5
92.14
-1.67% vortex-layout/src/layouts/chunked/reader.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 - 16885597172.1 11 Aug 2025 04:13PM UTC 579
48.15
GitHub Action Run
2 run-tests - 16885597172.2 11 Aug 2025 04:14PM UTC 638
84.16
GitHub Action Run
Source Files on build 16885597172
  • Tree
  • List 638
  • Changed 10
  • Source Changed 9
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #16885597172
  • 5f664b6e on github
  • Prev Build on develop (#16885417430)
  • Next Build on develop (#16887380527)
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