Skip to content

Medium: important Rust integration tests are disabled #33

Closed as not planned

Description

@congwang-mk

Many architecture-level tests are marked #[ignore], including commit visibility tests at tests/test_integration.rs (line 845), tests/test_integration.rs (line 889), and tests/test_integration.rs (line 923). That leaves the riskiest semantics mostly covered by shell tests and manual paths.

Activity

  1. congwang-mk commented on May 19, 2026

    @congwang-mk
    ContributorAuthor

    The #[ignore] markers are intentional — these tests mount a real FUSE filesystem (need /dev/fuse access, a working fusermount3/umount, and serialized execution), so they're not safe to run under a plain cargo test. They are not disabled in CI, though.

    How they run: the integration job in .github/workflows/ci.yml invokes ./tests/run_all_tests.sh, which explicitly calls cargo test --test test_integration -- --ignored (line 104) and cargo test --test test_ioctl -- --ignored (line 89). Both run on every push and pull request to main.

    Verified locally on current main (9ae8cc7, which now includes the snapshot-isolation fix from #32):

    $ cargo test --release --test test_integration -- --ignored --test-threads=1
    test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 22.47s
    
    $ cargo test --release --test test_ioctl -- --ignored --test-threads=1
    test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.14s
    

    The three commit-visibility tests called out in the report (test_commit_changes_visible_at_mount_root, test_commit_deletion_visible_at_mount_root, test_commit_base_file_modification_visible_at_mount_root) all pass, including against the new frozen inherited/ snapshot semantics.

    Closing as the tests are running in CI as designed. If a more discoverable wiring is desired (e.g., a fuse-tests cargo feature instead of #[ignore]), happy to open a follow-up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions