It includes modifications for generic tests to pass with btrfs as well as new tests. -- v11: - remove unneeded common/btrfs sourcing from common/verity - fix btrfs/290 prealloc test in case the disk extent actually had zeros. - make logic a little more consistent in btrfs/291 - make btrfs/291 work regardless of how btrfs-progs prints the Merkle items. v10: - rebase - add nodatasum instead of setting it - rewrite eof block test to read zap_len at eof and to compare with a zero file instead of using xxd - add _require_loop to the log_writes test v9: - use nodatasum for btrfs corruption tests. - modify eof block corruption test to allow all zeroes rather than requiring an error. v8: - reorganize to have a patch for enabling generic tests followed by the patches with new and specific tests. - fix some rebasing miscues from v7. - fix a chunk of space characters instead of a tab in the new requires function. v7: - add a new patch to make the new corruption requires more clear - require corruption in generic/576 - require only btrfs_corrupt_block in btrfs/290 - add missing xfs_io requirements in btrfs/290 - remove unneeded zero byte check from btrfs corruption function - fix sloppy extras in generic/690 v6: - refactor "requires" for verity corruption tests so that other verity tests can run on btrfs even without the corruption command available. Also, explictly require xfs_io fiemap for all corruption tests. - simplify and clarify "non-trivial EFBIG" calculation and documentation per suggestions by Eric Biggers. - remove unnecessary adjustment to max file size in the new EFBIG test; the bug it worked around has been fixed. v5: - more idiomatic requires structure for making efbig test generic - make efbig test use truncate instead of pwrite for making a big file - improve documentation for efbig test approximation - fix underscores vs dashes in btrfs_requires_corrupt_block - improvements in missing/redundant requires invocations - move orphan test image file to $TEST_DIR - make orphan test replay/snapshot device size depend on log device instead of hard-coding it. - rebase (signicant: no more "groups" file; use preamble) v4: - mark local variables - get rid of redundant mounts and syncs - use '_' in function names correctly - add a test for the EFBIG case - reduce usage of requires_btrfs_corrupt_block - handle variable input when corrupting merkle tree v3: rebase onto xfstests master branch v2: pass generic tests, add logwrites test Boris Burkov (5): common/verity: require corruption functionality common/verity: support btrfs in generic fsverity tests btrfs: test btrfs specific fsverity corruption btrfs: test verity orphans with dmlogwrites generic: test fs-verity EFBIG scenarios common/btrfs | 5 ++ common/config | 1 + common/verity | 48 ++++++++++++ tests/btrfs/290 | 172 ++++++++++++++++++++++++++++++++++++++++++ tests/btrfs/290.out | 25 ++++++ tests/btrfs/291 | 167 ++++++++++++++++++++++++++++++++++++++++ tests/btrfs/291.out | 2 + tests/generic/574 | 38 +++++++++- tests/generic/574.out | 13 +--- tests/generic/576 | 1 + tests/generic/692 | 64 ++++++++++++++++ tests/generic/692.out | 7 ++ 12 files changed, 531 insertions(+), 12 deletions(-) create mode 100755 tests/btrfs/290 create mode 100644 tests/btrfs/290.out create mode 100755 tests/btrfs/291 create mode 100644 tests/btrfs/291.out create mode 100644 tests/generic/692 create mode 100644 tests/generic/692.out -- 2.37.1