Page MenuHomeFreeBSD

tarfs_test: split large file test into independent cases
ClosedPublic

Authored by siva on Aug 20 2026, 7:24 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 9, 1:52 PM
Unknown Object (File)
Fri, Oct 9, 1:52 PM
Unknown Object (File)
Fri, Oct 9, 1:52 PM
Unknown Object (File)
Wed, Oct 7, 7:13 AM
Unknown Object (File)
Mon, Oct 5, 1:11 AM
Unknown Object (File)
Sun, Oct 4, 2:37 PM
Unknown Object (File)
Sun, Oct 4, 2:35 PM
Unknown Object (File)
Sun, Oct 4, 2:34 PM
Subscribers

Details

Summary

This avoids globally set timeouts for the group of
tarfs_large tests on slower emulated architectures.

While here, lower each testcase's timeout to reflect
the reduction of work. On QEMU aarch64, the largest case
runs in ~500s on a modern desktop, so double that for a
conservative estimate.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

siva requested review of this revision.Aug 20 2026, 7:24 AM

Generating tests at run time (and especially generating them from atf_init_test_cases()) is problematic because the script gets run more than once per test case, so we keep generating code over and over even when we don't need it. I would prefer multiple thin hand-written wrappers around tarfs_large_test().

Use hand written thin wrappers instead of dynamically generating test cases.

tests/sys/fs/tarfs/tarfs_test.sh
418–426

Do you really need two test cases for each shift value or can you merge them?

tests/sys/fs/tarfs/tarfs_test.sh
418–426

Mounting and unmounting is the bottleneck here, and you'd have to do that twice anyway if we merge the two cases. Why would we do it sequentially rather than concurrently if they are independent? It's just a few more (static) lines of sh to keep it.

Anything more before getting this in?

This revision was not accepted when it landed; it landed in state Needs Review.Tue, Sep 22, 1:58 PM
This revision was automatically updated to reflect the committed changes.