Page MenuHomeFreeBSD

tarfs_test: split large file test into independent cases
Needs ReviewPublic

Authored by siva on Thu, Aug 20, 7:24 AM.
Tags
None
Referenced Files
F171207423: D59033.id185774.diff
Wed, Sep 9, 12:55 PM
F171206636: D59033.id185774.diff
Wed, Sep 9, 12:46 PM
F171206386: D59033.id185775.diff
Wed, Sep 9, 12:43 PM
F171203839: D59033.id185775.diff
Wed, Sep 9, 12:13 PM
Unknown Object (File)
Tue, Sep 8, 5:02 PM
Unknown Object (File)
Tue, Sep 8, 12:27 AM
Unknown Object (File)
Mon, Sep 7, 11:56 PM
Unknown Object (File)
Mon, Sep 7, 9:08 PM
Subscribers

Details

Reviewers
des
stevek
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 Skipped
Unit
Tests Skipped
Build Status
Buildable 75778
Build 72661: arc lint + arc unit

Event Timeline

siva requested review of this revision.Thu, Aug 20, 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
425–433

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

tests/sys/fs/tarfs/tarfs_test.sh
425–433

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.