Repository navigation
test(macos): probe filesystem scan fixture capabilities - #595
Merged
Merged
Conversation
Local-Gate: v1 tree=812f62ee22de8894396e5a113abd532f3f0449f7 secs=1162 lanes=linux-minimal:reused@72727dab3a90,dylint-minimal:reused@e57f81d4e5ef,lint:run
Ci-Attestation: {"at":1793904115,"gate":"general/all/ci-guards","host":"linux-x86_64","key":"72727dab3a901201ae48b5b73d17b5dfc91a83d6b8a1377dd7d557f02c545bed","lane":"linux-minimal","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":null,"stamp":"1b9e0902ca27741c17ab8d313bfd7464","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"reused"}
Ci-Attestation: {"at":1793904115,"gate":"rust/x86_64-unknown-linux-gnu/default-facade-clippy","host":"linux-x86_64","key":"72727dab3a901201ae48b5b73d17b5dfc91a83d6b8a1377dd7d557f02c545bed","lane":"linux-minimal","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":null,"stamp":"b1adda12272899078ac0b3130fd1ace0","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"reused"}
Ci-Attestation: {"at":1793904115,"gate":"rust/x86_64-unknown-linux-gnu/default-facade-test","host":"linux-x86_64","key":"72727dab3a901201ae48b5b73d17b5dfc91a83d6b8a1377dd7d557f02c545bed","lane":"linux-minimal","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":null,"stamp":"2c6583a9a338a8ad489055bc5c5e9679","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"reused"}
Ci-Attestation: {"at":1793904115,"gate":"rust/x86_64-unknown-linux-gnu/desktop-status-test","host":"linux-x86_64","key":"72727dab3a901201ae48b5b73d17b5dfc91a83d6b8a1377dd7d557f02c545bed","lane":"linux-minimal","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":null,"stamp":"5d49515415a32f76727475039870508c","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"reused"}
Ci-Attestation: {"at":1793904115,"gate":"rust/x86_64-unknown-linux-gnu/dylint-all-features-all-targets","host":"linux-x86_64","key":"e57f81d4e5efad9129e2f6552ba5d84f60e36ea76a8c176529a78b5084d79f76","lane":"dylint-minimal","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":null,"stamp":"9867c413c41c8a440cb4c66ee0960481","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"reused"}
Ci-Attestation: {"at":1793905303,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"06591b3a246c936f1f4d26efb2a6af3226d9a33e9bf343216df4b9dd8bc4073e","lane":"lint","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":1162,"stamp":"ce803f222164fff30f1164f9a826fc48","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793905303,"gate":"rust/aarch64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"06591b3a246c936f1f4d26efb2a6af3226d9a33e9bf343216df4b9dd8bc4073e","lane":"lint","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":1162,"stamp":"5d55111b48df2c6548bbeb6178fb8bdc","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793905303,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"06591b3a246c936f1f4d26efb2a6af3226d9a33e9bf343216df4b9dd8bc4073e","lane":"lint","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":1162,"stamp":"ff36ab1116415d6fa6468ab93f01ce29","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793905303,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"06591b3a246c936f1f4d26efb2a6af3226d9a33e9bf343216df4b9dd8bc4073e","lane":"lint","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":1162,"stamp":"cd82b63a2144623739e33fa18f7e710c","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793905303,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"06591b3a246c936f1f4d26efb2a6af3226d9a33e9bf343216df4b9dd8bc4073e","lane":"lint","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":1162,"stamp":"6214c47cbca3a2d2ccbf36768146196e","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793905303,"gate":"rust/x86_64-unknown-linux-gnu/dylint","host":"linux-x86_64","key":"06591b3a246c936f1f4d26efb2a6af3226d9a33e9bf343216df4b9dd8bc4073e","lane":"lint","parents":["6104a254b65302b82bbe365ea8ba9eb5d4772b3e"],"secs":1162,"stamp":"a7e9c1409fe045eefd56e87386e5c431","tree":"812f62ee22de8894396e5a113abd532f3f0449f7","v":1,"via":"run"}
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 macOS filesystem scan tests now probe the scratch filesystem instead of assuming invalid-byte filename and sparse-file support from its type. Successful invalid-byte writes retain exact byte-for-byte scanner assertions; only EILSEQ is treated as an unsupported capability, and other errors propagate. Sparse fixture entries always match observed block count and length, with the sparse inequality required whenever metadata demonstrates a hole. Full-tree accounting and entry presence remain checked with 1, 2 and 8 threads. Product code is unchanged.
Verified incident evidence supplied for this fix: macOS x86_64 tests run 42052832620, main, 2026-11-05T15:13:50Z, failed in
intel-macos-tests: 1332 tests run, 1330 passed, 2 failed, 52 skipped. Both failing macOS-only tests landed in #586 (5d471ba, 2026-11-05T01:21Z). The Linux-only merge queue never exercised them on macOS; this was their first macOS execution. The previous Nov 4 run 41855462676 passed 1310 tests, before these 22 tests existed.platform_macos::fs_scan::filesystem_tests::arbitrary_filename_bytes_survive: the QEMU guest mount does not report APFS/HFS but rejects 0xff with EILSEQ (code 92, Illegal byte sequence). The old fallback propagated that fixture error before scanning.platform_macos::fs_scan::filesystem_tests::real_tree_parallel_accounting: the guest fully allocates the sparse-write fixture, failingblocks() * 512 < len()before scanning. Capability is now derived from actual metadata, while scanner accounting is asserted on either filesystem.Validation:
ci-lint local-gate runpassed and stamped the commit with its tree-boundLocal-Gatetrailer. Linux minimal passed (bosn run66bf3c41-6fe5-4572-ac47-4dc4dcafb84f); Dylint minimal passed (bosn run33769fa6-7591-4b5f-b91e-679ade09da6e); final lint lane passed host Clippy/Dylint and all-target Clippy for macOS x86_64/ARM64 and Windows x86_64/ARM64 with warnings denied.soldr cargo fmt --all -- --checkand diff whitespace checks passed.soldr rustup run nightly-2026-08-15 cargo test --features fs-scan --lib platform_linux::fs_scan::filesystem_tests: all 4 Linux filesystem tests passed.soldr cargo dylint --all --workspace -- --all-features --all-targetspassed separately. The standalone platform-boundary test initially passed 21 checks but its UI driver build failed resolving a cloned repository'smasterref; the containerized gate subsequently passed its Dylint checks.Native APFS and QEMU macOS execution are unavailable locally and are not claimed; cross-target Clippy compiled the changed macOS tests but cannot verify runtime filesystem behavior. Native follow-up should run the two
platform_macos::fs_scan::filesystem_teststests (or that entire module) withsoldr cargo test --features fs-scan --lib platform_macos::fs_scan::filesystem_testson the macOS runner.ci-fullis selected at PR creation for native coverage. Leave unmerged and unenqueued for Zach.