Repository navigation
CI: core covgap tests join their suites (#1089) - #1585
Merged
Mikola Lysenko (mikolalysenko) merged 3 commits intoOct 15, 2026
Merged
Conversation
Assisted-by: Claude Code:claude-opus-5-5
14 tasks
The core crate kept five coverage-gap test files, each its own test binary, with helpers mirrored from the suites they called companions. Each now lives in its named suite and shares that suite's helpers: - covgap_api_blob_fetcher -> blob_fetcher_edges_e2e (drops the mirrored client, manifest and dir-count helpers) - covgap_crawlers_npm_crawler and covgap_patch_apply -> crawler_npm_e2e, next to the twin-healing success tests - covgap_crawlers_composer_crawler -> crawler_composer_e2e, using its EnvVars restore guard and global_opts instead of private copies - covgap_update_state -> update_state_env (it blanks HOME, so it must stay its own process) No test is dropped and nothing is asserted differently. Four fewer test binaries to link per test leg; the Windows shard timings move with them. Refs #1089 Assisted-by: Claude Code:claude-opus-5-5
Review follow-ups on the folded core suites: - crawler_npm_e2e: the moved apply tests now use the suite's one index.js patch fixture (ungated and renamed from the vlt-only helpers) and stage_npm_pkg, and the per-test imports that the file-level ones replaced are gone. - crawler_composer_e2e: the older global-home tests restore their env through EnvVars too, so a panic no longer leaks a stubbed HOME or PATH into later tests in the binary. - blob_fetcher_edges_e2e: the read-only blobs dir gets its write bit back through a drop guard, so a failed assert or the root skip no longer leaves an undeletable tempdir. Refs #1089 Assisted-by: Claude Code:claude-opus-5-5
Mikola Lysenko (mikolalysenko)
marked this pull request as ready for review
October 15, 2026 18:13
Collaborator
Author
|
BugBot review Generated by Claude Code |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 709b391. Configure here.
Tanmay Singla (Tanmay182003)
approved these changes
Oct 15, 2026
Mikola Lysenko (mikolalysenko)
deleted the
agent/fix-ci-core-covgap-homes
branch
October 15, 2026 18:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LLM Description written by Claude Code:claude-opus-5-5
Refs #1089 (core-crate slice of child 6; the scan slice is #1583, update merged in #1580). With this and #1583, no
covgap_*/coverage_fix_*file is left in the repo. The issue's other children (sentence-assertion counts) stay open.Summary
The core crate had five
tests/covgap_*.rsfiles. Each was its own test binary, with helpers mirrored from the suite it called its companion. Each one now lives in that suite and uses the suite's helpers:covgap_api_blob_fetcher.rs(6 tests)blob_fetcher_edges_e2e.rs. The mirroreddummy_client,proxy_client,manifest_with_after_hashesanddir_entry_countare gonecovgap_crawlers_npm_crawler.rs(8)crawler_npm_e2e.rs. The mirroredoptions_atandstage_npm_pkgare gonecovgap_patch_apply.rs(4)crawler_npm_e2e.rs, next to the twin-healing success tests. It uses the suite's index.js patch fixture (ungated and renamed fromvlt_patch/vlt_apply) andstage_npm_pkgcovgap_crawlers_composer_crawler.rs(5)crawler_composer_e2e.rs, using itsEnvVarsrestore guard andglobal_optsinstead of a privateEnvVarGuardandglobal_options_atcovgap_update_state.rs(1)update_state_env.rs. It blanks HOME, so it has to stay its own process (see its header)Cleanups from
/code-review high:crawler_composer_e2e.rsnow restore env throughEnvVarsinstead of hand-written save/restore. Before, a panic left a stubbed HOME/PATH in place for the rest of the binary.blob_fetcher_edges_e2e.rsnow restores the write bit in a drop guard.scripts/ci-test-durations.json(the Windows shard balancer) moves the removed targets' timings onto their new homes and addsupdate_state_env. No product code changes.CI cost: test-only. A lean PR run is still about 28 Linux jobs and ~8 min, before and after. There are four fewer test binaries to compile and link in every job that builds the core tests (coverage, test-release, Windows/macOS shards). The shard file prices each binary at 2 s of link time. All 24 moved tests still run, with the same assertions.
Test evidence
blob_fetcher_edges_e2e14+6 → 20,crawler_npm_e2e86+8+4 → 98,crawler_composer_e2e39+5 → 44,update_state_env1. All pass locally.cargo test -p socket-patch-core --all-features --test '*': all 32 integration binaries pass. The lib unit tests have 4 failures in this sandbox:copy_tree,vlt_heal,pypi_poetryandpypi_requirementstests whose chmod denials don't hold as root. They are insrc/, which this PR doesn't touch.cargo fmt --all -- --checkis clean.cargo clippy --locked --workspace --all-features -- -D warningsis clean, and so is clippy on the four touched test targets.python3 -m pytest scripts/tests -q: 342 passed, 6 skipped. This includes the shard tests that readci-test-durations.json.cfg(unix)andcfg(not(windows))tests and helpers that are now ungated, so one full-scope run was dispatched on 709b391. It passed, Windows and macOS shards included: https://github.com/SocketDev/socket-patch/actions/runs/38783841518🤖 Generated with Claude Code
https://claude.ai/code/session_01JH8KWf5dc23jDNhurGwAsN
Generated by Claude Code