Skip to content

Add an integration test suite using the file tape backend - #611

Open
matejk wants to merge 3 commits into
LinearTapeFileSystem:mainfrom
matejk:tests/integration-suite
Open

Add an integration test suite using the file tape backend#611
matejk wants to merge 3 commits into
LinearTapeFileSystem:mainfrom
matejk:tests/integration-suite

Conversation

@matejk

@matejk matejk commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

A shell-based integration test suite (14 tests) driven by make check, mounting a file-backend volume from the build tree — no installation or tape hardware needed. Tests need a Linux host with /dev/fuse and are skipped elsewhere; tests/run-in-docker.sh runs the suite in an Ubuntu container for development on non-Linux hosts. A CI workflow runs the suite on every push.

Coverage: mount/unmount, data roundtrips, truncate, rename, directory operations, xattrs, symlinks, large directories, a tar roundtrip, rename flags (RENAME_NOREPLACE/RENAME_EXCHANGE) and ftruncate via a small C helper, inode stability across remounts (verifies use_ino/index-UID passthrough), FUSE request sizes, direct_io, readdirplus, and content verification of writes larger than the tape block size.

Relationship to the other PRs

Verification

All 14 tests pass on Ubuntu against both fuse2 and fuse3 builds (with #603 merged alongside), via make check and ctest.

@matejk
matejk force-pushed the tests/integration-suite branch 3 times, most recently from 453f49f to d5f14f3 Compare June 12, 2026 12:38
@matejk
matejk force-pushed the tests/integration-suite branch from d5f14f3 to 2618ac3 Compare June 17, 2026 20:35
@matejk
matejk force-pushed the tests/integration-suite branch from 2618ac3 to 5b98311 Compare July 3, 2026 22:01
@amissael95
amissael95 requested a review from Piloalucard July 27, 2026 18:18
@matejk
matejk force-pushed the tests/integration-suite branch from 5b98311 to 8944923 Compare August 17, 2026 20:10
@matejk
matejk changed the base branch from main to release/v2.4.9.0 August 17, 2026 20:10
@matejk
matejk changed the base branch from release/v2.4.9.0 to main August 17, 2026 20:11
The share flag was passed as the mode, so the file backend created 0200
files that a non-root user could not reopen.
@matejk
matejk force-pushed the tests/integration-suite branch from 8944923 to 31d99c4 Compare August 17, 2026 20:13
matejk added 2 commits August 17, 2026 22:21
Shell tests under make check and ctest; skipped without /dev/fuse.
tests/run-in-docker.sh runs them in a container on non-Linux hosts.
@matejk
matejk force-pushed the tests/integration-suite branch 2 times, most recently from 4334285 to cc20b62 Compare August 17, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant