mirror_zfs/tests/zfs-tests/tests/functional/redacted_send
Aleksa Sarai 669683c4cb
ZTS: switch to rsync for directory diffs
While "diff -r" is the most straightforward way of comparing directory
trees for differences, it has two major issues:

 * File metadata is not compared, which means that subtle bugs may be
   missed even if a test is written that exercises the buggy behaviour.
 * diff(1) doesn't know how to compare special files -- it assumes they
   are always different, which means that a test using diff(1) on
   special files will always fail (resulting in such tests not being
   added).

rsync can be used in a very similar manner to diff (with the -ni flags),
but has the additional benefit of being able to detect and resolve many
more differences between directory trees. In addition, rsync has a
standard set of features and flags while diffs feature set depends on
whether you're using GNU or BSD binutils.

Note that for several of the test cases we expect that file timestamps
will not match. For example, the ctime for a file creation or modify
event is stored in the intent log but not the mtime. Thus when replaying
the log the correct ctime is set but the current mtime is used. This is
the expected behavior, so to prevent these tests from failing, there's a
replay_directory_diff function which ignores those kinds of changes.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Closes #12588
2022-03-01 10:05:32 -08:00
..
cleanup.ksh ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
Makefile.am ZTS: New test for kernel panic induced by redacted send 2021-03-19 22:47:50 -07:00
redacted_compressed.ksh Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
redacted_contents.ksh Fix typos in tests/ 2019-08-30 16:52:00 -07:00
redacted_deleted.ksh Fix typos in tests/ 2019-08-30 16:52:00 -07:00
redacted_disabled_feature.ksh Fix typos in tests/ 2019-08-30 16:52:00 -07:00
redacted_embedded.ksh Stop using "zstreamdump" in tests/ 2021-06-24 09:38:33 -07:00
redacted_holes.ksh ZTS: Another round of changes for FreeBSD 2020-03-06 09:31:32 -08:00
redacted_incrementals.ksh ZTS: switch to rsync for directory diffs 2022-03-01 10:05:32 -08:00
redacted_largeblocks.ksh ZTS: switch to rsync for directory diffs 2022-03-01 10:05:32 -08:00
redacted_many_clones.ksh Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
redacted_mixed_recsize.ksh Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
redacted_mounts.ksh ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
redacted_negative.ksh ZTS: avoid piping to special devices 2021-01-19 11:53:35 -08:00
redacted_origin.ksh Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
redacted_panic.ksh ZTS: Avoid unset $tmpdir in redacted_panic 2021-08-16 16:38:34 -07:00
redacted_props.ksh Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
redacted_resume.ksh ZTS: avoid piping to special devices 2021-01-19 11:53:35 -08:00
redacted_size.ksh ZTS: Use wc -c instead of --bytes for portability 2020-02-07 12:31:38 -08:00
redacted_volume.ksh ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
redacted.cfg Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
redacted.kshlib ZTS: Another round of changes for FreeBSD 2020-03-06 09:31:32 -08:00
setup.ksh Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00