fix: the MCP fixture uses the Btrfs scratch the harness hands it - #7
Merged
Merged
Conversation
The only FAILED left in a full `dev/verify.sh` on Fedora was `cargo test --workspace`, and two tests in `the_adapter_speaks_mcp.rs` were all of it: both reported «there is no Btrfs here, so no boundary can be opened» on the same run that had just PROVEN stages 58 and 59 against real Btrfs. Nothing was wrong with Thalyx. `started_with()` built its workspace with `tempfile::tempdir()`, which answers `/tmp`, and `/tmp` on Fedora is tmpfs — so `hacer` could not open a boundary there, correctly. The harness had already solved this: `verify.sh` sets `THALYX_BTRFS_SCRATCH` beside `THALYX_REQUIRE_BTRFS_TESTS=1`, after physically creating a subvolume at that path. This fixture was the one place ignoring it, so the demand turned an honest NOT PROVEN into a failure of the machine — rule 5, the instrument including the harness. Two things were needed, not one. The TempDir now goes on the scratch when the variable is set (`tempdir_in`, one per fixture, so the tests that share the scratch do not share a tree), and the workspace inside it is made as a subvolume: being *on* Btrfs is not enough, because a boundary is about the subvolume the session stands in and never looks upwards for one, so a plain directory on the scratch answers `not_a_subvolume` exactly as tmpfs does. With the variable unset the fixture is byte for byte what it was, and the subvolume create is best effort: where the scratch is not Btrfs the skip still says NOT PROVEN rather than this panicking about a machine it was never promised. `THALYX_REQUIRE_BTRFS_TESTS` is untouched and still turns that skip into a failure.
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.
The only FAILED left in a full
dev/verify.shon Fedora wascargo test --workspace, and two tests inthe_adapter_speaks_mcp.rswere all of it: both reported «there is no Btrfs here, so no boundary can be opened» on the same run that had just PROVEN stages 58 and 59 against real Btrfs.Nothing was wrong with Thalyx.
started_with()built its workspace withtempfile::tempdir(), which answers/tmp, and/tmpon Fedora is tmpfs — sohacercould not open a boundary there, correctly. The harness had already solved this:verify.shsetsTHALYX_BTRFS_SCRATCHbesideTHALYX_REQUIRE_BTRFS_TESTS=1, after physically creating a subvolume at that path. This fixture was the one place ignoring it, so the demand turned an honest NOT PROVEN into a failure of the machine — rule 5, the instrument including the harness.Two things were needed, not one. The TempDir now goes on the scratch when the variable is set (
tempdir_in, one per fixture, so the tests that share the scratch do not share a tree), and the workspace inside it is made as a subvolume: being on Btrfs is not enough, because a boundary is about the subvolume the session stands in and never looks upwards for one, so a plain directory on the scratch answersnot_a_subvolumeexactly as tmpfs does.With the variable unset the fixture is byte for byte what it was, and the subvolume create is best effort: where the scratch is not Btrfs the skip still says NOT PROVEN rather than this panicking about a machine it was never promised.
THALYX_REQUIRE_BTRFS_TESTSis untouched and still turns that skip into a failure.