Commit 78747a3
committed
btrfs-progs: tests: add reproducibility check harness
Add tests/reproducibility-check.sh, a standalone root-required test that
checks mkfs.btrfs produces byte-identical images from identical inputs.
For a matrix of environment variations it runs mkfs twice and cmp's the
raw images:
- baseline, wall-clock time, TZ, locale, umask and working directory,
for both empty and --rootdir images;
- source uid, source filesystem (the same tree on loop-mounted ext4 vs
xfs), and compression (lzo/zlib/zstd), for --rootdir only.
Each run uses the documented recipe: a fixed -U, SOURCE_DATE_EPOCH and
DETERMINISTIC_SEED=1, and no --device-uuid, so the matrix also confirms
mkfs derives the device UUID from the fs UUID on its own. The source
tree is chown'd to 0:0 first (the one piece left to the caller) and mkfs
normalizes timestamps itself. The ext4 mount's lost+found is stripped so
the ext4 and xfs trees match, and two locales are probed at startup so
the locale case compares two real locales or is skipped.
Root is required only for the loop-mounted ext4/xfs source-filesystem
case. With the preceding patches, all variations pass.
Signed-off-by: Leo Martins <loemra.dev@gmail.com>1 parent 07d7f93 commit 78747a3
1 file changed
Lines changed: 477 additions & 0 deletions
0 commit comments