karva-dev
karva
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(ci): regenerate Cargo.lock and normalize path snapshots for Windows The cherry-picked karva_diagnostic insta dev-dep needed a Cargo.lock update that didn't carry across. Path snapshots in karva_project also need to be normalized to forward slashes via a small posix() helper since Windows formats Utf8PathBuf with backslashes.
test/consolidated-audit
5 minutes ago
test(diagnostic): snapshot traceback parser assertions Converts `filter_traceback`, `parse_traceback_line`, `get_traceback_location`, and `calculate_line_range` unit tests to inline snapshots. These assert on multi-line strings and `Option<TracebackLocation>` / `Option<TextRange>` structs where seeing the full parsed shape is much easier to review than hand-built expected values.
test/consolidated-audit
5 hours ago
test: convert unit-test assertions to inline snapshots Follow-up to the consolidated audit: converts hand-written assert_eq! assertions in the newly added karva_logging, karva_project, karva_metadata, and karva_cache unit tests to insta inline snapshots where snapshots add value. Single-value primitive checks (booleans, matches!, length counts) and filesystem existence checks are left as-is.
test/consolidated-audit
5 hours ago
fix: apply filter expressions in --dry-run and make -qq silent (#671) ## Summary `karva test --dry-run -E <expr>` printed every collected test regardless of the filter expression. The dry-run branch was calling `collect_tests` and `print_collected_tests` before `FiltersetSet::new` had even been constructed — the parse call further down was only validating user input and then throwing the result away. This change parses the filterset first, stores it, and threads it through `collect_test_names` so each qualified name is evaluated against an `EvalContext` before being printed. Tag filters still degrade to an empty tag set because tag metadata is a runtime Python concept and is not available at collection time, but the common `test(...)` predicates now work as documented. `-qq` was silently equivalent to `-q` even though `Verbosity` exposes `quiet` as `ArgAction::Count` and `VerbosityLevel::Silent` is already wired through `Printer::stdout_important` to disable the failure-summary stream. `Verbosity::level()` only checked `self.quiet > 0` and returned `Quiet`, so `Silent` was unreachable. The fix mirrors the existing `self.verbose` match: ```rust match self.quiet { 0 => {} 1 => return VerbosityLevel::Quiet, _ => return VerbosityLevel::Silent, } ``` `cli_arg()` already returns `"-qq"` for `Silent`, so the flag is correctly propagated to workers via `inner_cli_args` without further changes. ## Test Plan - [x] `dry_run_applies_filter_expression` in `crates/karva/tests/it/filterset.rs` — asserts that `--dry-run -E test(~alpha)` against a two-test file prints only `test::test_alpha` and `1 tests collected`. - [x] `qq_is_silent_not_quiet` in `crates/karva/tests/it/basic.rs` — asserts that `-qq` on a failing run produces empty stdout, where the existing `test_quiet_output_failing` (invoked with `-q`) still prints the summary line. - [x] `just test` — 826 passed, 0 failed. - [x] `uvx prek run -a` — all hooks green.
main
5 hours ago
test(metadata): snapshot Options and combine merge assertions Converts the TOML parsing and `Combine` merge tests on `Options`, `TestOptions`, and `SrcOptions` to debug snapshots of the full struct. The hand-written per-field asserts previously checked a handful of fields in each merged struct; the snapshot form pins down every field at once so intentional schema changes regenerate cleanly.
test/snapshot-sweep
5 hours ago
fix: apply filter expressions in --dry-run and make -qq silent Dry-run previously built a FiltersetSet solely to validate user input and then printed every collected test regardless, so karva test --dry-run -E 'test(~login)' lied about which tests would run. Parse the filterset before branching and apply it in collect_test_names before printing. Verbosity::level() returned Quiet whenever self.quiet > 0, so the Silent variant was unreachable from the CLI even though -qq advertises silent output. Mirror the self.verbose match and map quiet >= 2 to Silent, which Printer already gates as disabled for the failure-summary stream.
fix/dry-run-filter-and-qq
5 hours ago
test: rewrite no-subcommand help test to use assert_cmd_snapshot
test/consolidated-audit
5 hours ago
test: expand integration coverage for CLI flags and orchestration Adds 32 new integration tests covering CLI flag combinations and orchestration behaviours that were either untested or only had a happy path. The additions are spread across basic, last_failed, configuration, and a new discovery/edge_cases module.
test/cli-coverage
5 hours ago
Latest Branches
CodSpeed Performance Gauge
+1%
test: expand integration and unit coverage
#670
9 minutes ago
b79918f
test/consolidated-audit
CodSpeed Performance Gauge
+3%
test: convert assertions to inline snapshots across the codebase
#672
5 hours ago
92e25c2
test/snapshot-sweep
CodSpeed Performance Gauge
+8%
fix: apply filter expressions in --dry-run and make -qq silent
#671
5 hours ago
8e23ba2
fix/dry-run-filter-and-qq
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs