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

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

Build:
DEFAULT BRANCH: develop
Ran 12 Aug 2025 04:35PM UTC
Files 579
Run time 28s
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 04:27PM UTC coverage: 47.991%. First build
16914825851.2

push

github

web-flow
chore: improve test coverage in vortex-scan (#4206)

## Overview

This PR significantly improves the `vortex-scan` crate by adding
exhaustive concurrency testing with Loom, comprehensive unit test
coverage, and complete documentation. The changes ensure the
work-stealing scanner is provably correct under all possible thread
interleavings while maintaining excellent performance.

## Major Changes

### 1. Loom Concurrency Testing Infrastructure

Added comprehensive Loom tests that exhaustively verify all concurrent
code paths:

- **13 specialized Loom tests** covering work-stealing, filter
expressions, and multi-scan operations
- **Tests run by default** - no feature flags required
- **Fast execution** - complete in ~6 seconds in release mode
- **Dedicated CI job** for Loom tests running on optimized Ubuntu 24
runners
- **`disable_loom` cfg flag** for environments incompatible with Loom
(e.g., address sanitizer)

#### Key Concurrent Behaviors Tested:
- Memory ordering between `num_factories_constructed` and task pushing
- TOCTOU (time-of-check-time-of-use) race prevention
- Work-stealing retry logic with multiple concurrent stealers
- Factory error recovery with proper counter increments
- Complex worker termination conditions
- Concurrent filter ordering updates with multiple readers/writers

### 2. Expanded Unit Test Coverage

Added comprehensive unit tests for previously untested components:

#### Arrow Integration (`arrow.rs`)
- RecordBatch conversion from Vortex arrays
- Error propagation in Arrow conversions
- Iterator adapter with mixed success/error scenarios
- Null value handling and schema validation

#### Filter Module (`filter.rs`)
- Concurrent selectivity reporting
- Conjunct reordering based on selectivity statistics
- Thread-safe histogram updates with RwLock patterns
- Edge cases with single and multiple conjuncts

#### Work Queue (`work_queue.rs`)
- Work stealing with empty factories
- Clone semantics for iterators
- Factory constructio... (continued)

18843 of 39264 relevant lines covered (47.99%)

223085.76 hits per line

Source Files on job run-tpc-h - 16914825851.2
  • Tree
  • List 579
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 16914825851
  • bbbacce8 on github
  • Next Job for on develop (#16915465076.3)
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