Skip to content

fix(get): gate dc: tests needing cat/schema on feature_capable (fix qsvdp CI)#3959

Merged
jqnatividad merged 2 commits into
masterfrom
fix-qsvdp-get-test-gating
Jun 7, 2026
Merged

fix(get): gate dc: tests needing cat/schema on feature_capable (fix qsvdp CI)#3959
jqnatividad merged 2 commits into
masterfrom
fix-qsvdp-get-test-gating

Conversation

@jqnatividad
Copy link
Copy Markdown
Collaborator

Problem

The qsvdp (datapusher_plus) CI on master went red after #3958 merged — two get tests fail there (run):

  • test_get::get_dc_works_with_process_input_commands — invokes cat
  • test_get::get_dc_stats_cache_for_smart_commands — invokes schema

The qsvdp binary bundles get/slice/count/frequency/stats/profile but not cat or schema, so those commands aren't recognized and the tests fail. They pass under all_features because that build has every command — which is why this slipped through (the PR was validated with -F all_features, not --features=datapusher_plus).

Fix

Gate both tests on #[cfg(feature = "feature_capable")] — the same convention tests/test_profile.rs already uses for a schema-using test ("not qsvdp, which enables profile but not schema"). The change only removes the tests from non-feature_capable builds, so it can't introduce a failure anywhere.

dc: coverage on qsvdp is preserved by the other get tests: slice/count still exercise the process_input dc: path, and get_dc_stats_cache_not_shared_across_extensions covers frequency on dc:.

Verification

  • cargo test --features=datapusher_plus get_26 passed, 0 failed (the two gated tests excluded).
  • cargo test -F all_features get_dc → all 3 run and pass (gate satisfied — no feature-name typo).
  • qsvmcp includes feature_capable, so the tests still run + pass there; lite doesn't include get, so test_get doesn't compile there.

🤖 Generated with Claude Code

The qsvdp (datapusher_plus) build bundles `get`/`slice`/`count`/`frequency`
but NOT `cat` or `schema`, so two get tests merged in #3958 failed the qsvdp
CI (they pass under all_features, which has every command):

- get_dc_works_with_process_input_commands uses `cat`
- get_dc_stats_cache_for_smart_commands uses `schema`

Gate both on `feature_capable` (the same convention test_profile.rs uses for a
schema-using test). The dc: machinery itself stays covered on qsvdp by the
other get tests — slice/count still exercise the process_input dc: path, and
get_dc_stats_cache_not_shared_across_extensions covers frequency on dc:.

Verified: `cargo test --features=datapusher_plus get_` → 26 passed, the two
gated tests excluded; `cargo test -F all_features get_dc` → all 3 run and pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Jun 7, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

… (roborev #2782)

Addresses the Low finding: gating the whole get_dc_works_with_process_input_commands
test on feature_capable also dropped the `slice dc:` regression check from the
qsvdp run, even though `slice` is bundled there and is the part that exercises
util::process_input (count resolves dc: via Config::new, a different path).

Now only the `cat` assertion is feature_capable-gated (qsvdp does not bundle
cat); slice + count run on all builds, restoring process_input dc: coverage on
reduced binaries.

Verified: `cargo test --features=datapusher_plus get_dc` runs and passes
get_dc_works_with_process_input_commands (cat excluded); `cargo test
-F all_features` passes the full test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jqnatividad jqnatividad merged commit cc3ae78 into master Jun 7, 2026
17 checks passed
@jqnatividad jqnatividad deleted the fix-qsvdp-get-test-gating branch June 7, 2026 03:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant