[BUG] Fixture generator ignores an invalid explicit selection #4
Labels
No labels
bug
ci
docs
duplicate
enhancement
help wanted
invalid
performance
phase-6
question
refactor
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
erix/e2fsd#4
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The host filesystem-fixture resolver silently ignores an unavailable explicit generator path and chooses another checkout's generator. A mistyped test configuration can therefore produce fixtures from a source the caller did not select.
Reproduction
At the affected revision, make the repository's usual fixture generator available, leave ERIX_INTEGRATION_DIR unset, set ERIX_GENERATE_BLOCK_TEST_DISK to an absolute path that does not exist, and call test_fixtures::generate_block_test_disk_script(). The original function was compiled unchanged into a small host probe. It returned an existing fallback script instead of rejecting the requested path. The probe did not execute the returned script.
Expected and actual behavior
Expected: reject a missing, relative, unavailable or non-file explicit generator selection before invoking any fixture tool. Actual: the resolver returns another existing generator and allows subsequent fixture execution to continue with different source inputs. Missing selection also triggers implicit checkout discovery.
Environment and identity
dbf4cf3ef5; the resolver bytes are unchanged in the current dependency-alignment worktree.Evidence and prior checks
Explicit fixture selection checkpoint — 15 September 2026
Signed
da51754b1c871dfdee81c20920a8074ac105a4cbrequires an explicitly selected absolute fixture generator, removes implicit checkout discovery and the obsolete directory selector, and selects/hashes the original generator in CI. Three new regressions and actual resolver probes pass. All six default/all-feature/production development/release configurations pass 264 tests each, strict host/native Clippy, six native builds, formatting, private rustdoc and canonical documentation checks with no warnings. Existing dependency pins align with the signed runtime graph. Both current production ELFs retain the declared entry and state arena. The earlier omitted-checker configuration failure is retained separately. Push/review CI 176/177 passes with four complete classified logs (233,890 bytes), no warnings, and 264 passing tests in each CI test run. The explicit generator-selection defect is fixed in the published feature branch; product VM and full guest build acceptance remain separate. Product VM and full guest build acceptance remain pending. Review: #3.The original resolver probe exited successfully and returned a different existing script for the unavailable explicit selection. No fallback script was executed by the probe. Separately, the initial local dependency test run passed 260 tests and failed one because its caller omitted the already-required ERIX_E2FSCK input; that configuration error is retained and is distinct from this resolver defect. Existing CI already selects and hashes the checker correctly.
Tracking
Related audit: #1. Remove implicit generator discovery and the obsolete directory-selector fallback, select the exact generator explicitly in CI, document the caller inputs, and add refusal/selection regressions. Retain all original failures and complete the supported strict matrix and component CI before closing this report.