mirror_zfs/tests/zfs-tests/tests/functional/rsend
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 OpenZFS 7535 - need test for resumed send of top most filesystem 2017-04-12 08:47:42 -07:00
dedup_encrypted_zvol.bz2 Remove deduplicated send/receive code 2020-04-23 10:06:57 -07:00
dedup_encrypted_zvol.zsend.bz2 Remove deduplicated send/receive code 2020-04-23 10:06:57 -07:00
dedup.zsend.bz2 Remove deduplicated send/receive code 2020-04-23 10:06:57 -07:00
fs.tar.gz Remove deduplicated send/receive code 2020-04-23 10:06:57 -07:00
Makefile.am Enable encrypted raw sending to pools with greater ashift 2022-02-16 11:52:02 -08:00
recv_dedup_encrypted_zvol.ksh ZTS: Waiting for zvols to be available 2021-08-29 09:56:58 -06:00
recv_dedup.ksh ZTS: switch to rsync for directory diffs 2022-03-01 10:05:32 -08:00
rsend_001_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_002_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_003_pos.ksh Retry zfs destroy when busy in rsend tests 2017-08-03 08:57:43 -07:00
rsend_004_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_005_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_006_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_007_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_008_pos.ksh Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
rsend_009_pos.ksh Retry zfs destroy when busy in rsend tests 2017-08-03 08:57:43 -07:00
rsend_010_pos.ksh OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
rsend_011_pos.ksh Fix typos in tests/ 2019-09-02 18:07:35 -07:00
rsend_012_pos.ksh Cross-platform acltype 2020-10-13 21:25:48 -07:00
rsend_013_pos.ksh Retry zfs destroy when busy in rsend tests 2017-08-03 08:57:43 -07:00
rsend_014_pos.ksh Update rsend_014_pos and send-c_volume test cases 2017-05-04 14:32:43 -07:00
rsend_016_neg.ksh Fail invalid incremental recursive send gracefully 2021-10-08 11:14:26 -07:00
rsend_019_pos.ksh ZTS: Adopt OpenZFS test analysis script 2018-06-20 14:03:13 -07:00
rsend_020_pos.ksh ZTS: Adopt OpenZFS test analysis script 2018-06-20 14:03:13 -07:00
rsend_021_pos.ksh ZTS: Adopt OpenZFS test analysis script 2018-06-20 14:03:13 -07:00
rsend_022_pos.ksh Fix typos in tests/ 2019-09-02 18:07:35 -07:00
rsend_024_pos.ksh Mismatched nvlist names in zfs_keys_send_space 2020-10-02 17:40:46 -07:00
rsend.cfg OpenZFS 7252 - compressed zfs send / receive 2017-04-26 12:31:43 -07:00
rsend.kshlib ZTS: switch to rsync for directory diffs 2022-03-01 10:05:32 -08:00
send_doall.ksh send_iterate_snap : doall send without fromsnap 2021-02-24 09:48:58 -08:00
send_encrypted_files.ksh Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
send_encrypted_hierarchy.ksh Fix hierarchy misspellings 2019-04-14 19:06:34 -07:00
send_encrypted_props.ksh ICP: Improve AES-GCM performance 2020-02-10 12:59:50 -08:00
send_encrypted_truncated_files.ksh ZTS: normalize on use of sync_pool and sync_all_pools 2022-01-06 10:57:09 -08:00
send_freeobjects.ksh Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
send_holds.ksh zfs should optionally send holds 2019-02-15 12:41:38 -08:00
send_hole_birth.ksh ZTS: Another round of changes for FreeBSD 2020-03-06 09:31:32 -08:00
send_invalid.ksh ZTS: avoid piping to special devices 2021-01-19 11:53:35 -08:00
send_mixed_raw.ksh ZTS: Standardize use of destroy_dataset in cleanup 2021-10-25 15:13:50 -06:00
send_partial_dataset.ksh ZTS: avoid piping to special devices 2021-01-19 11:53:35 -08:00
send_raw_ashift.ksh Enable encrypted raw sending to pools with greater ashift 2022-02-16 11:52:02 -08:00
send_raw_spill_block.ksh Report dnodes with faulty bonuslen 2022-02-03 14:28:19 -08:00
send_realloc_dnode_size.ksh Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
send_realloc_encrypted_files.ksh ZTS: speed up rsend tests 2021-12-21 11:12:38 -08:00
send_realloc_files.ksh ZTS: speed up rsend tests 2021-12-21 11:12:38 -08:00
send_spill_block.ksh ZTS: Create xattr helpers to hide platform 2020-01-10 13:24:59 -08:00
send-c_embedded_blocks.ksh Stop using "zstreamdump" in tests/ 2021-06-24 09:38:33 -07:00
send-c_incremental.ksh OpenZFS 7252 - compressed zfs send / receive 2017-04-26 12:31:43 -07:00
send-c_lz4_disabled.ksh ZTS: Standardize use of destroy_dataset in cleanup 2021-10-25 15:13:50 -06:00
send-c_mixed_compression.ksh OpenZFS 7252 - compressed zfs send / receive 2017-04-26 12:31:43 -07:00
send-c_props.ksh OpenZFS 7252 - compressed zfs send / receive 2017-04-26 12:31:43 -07:00
send-c_recv_dedup.ksh OpenZFS 7252 - compressed zfs send / receive 2017-04-26 12:31:43 -07:00
send-c_recv_lz4_disabled.ksh ZTS: Standardize use of destroy_dataset in cleanup 2021-10-25 15:13:50 -06:00
send-c_resume.ksh Fix typos in tests/ 2019-09-02 18:07:35 -07:00
send-c_stream_size_estimate.ksh ZTS: Standardize use of destroy_dataset in cleanup 2021-10-25 15:13:50 -06:00
send-c_verify_contents.ksh OpenZFS 7252 - compressed zfs send / receive 2017-04-26 12:31:43 -07:00
send-c_verify_ratio.ksh ZTS: speed up rsend tests 2021-12-21 11:12:38 -08:00
send-c_volume.ksh Refactor checksum operations in tests 2019-09-05 09:51:59 -07:00
send-c_zstreamdump.ksh Stop using "zstreamdump" in tests/ 2021-06-24 09:38:33 -07:00
send-cpL_varied_recsize.ksh ZTS: Standardize use of destroy_dataset in cleanup 2021-10-25 15:13:50 -06:00
send-L_toggle.ksh File incorrectly zeroed when receiving incremental stream that toggles -L 2020-06-09 10:41:01 -07:00
send-wR_encrypted_zvol.ksh ZTS: normalize on use of sync_pool and sync_all_pools 2022-01-06 10:57:09 -08:00
setup.ksh OpenZFS 7535 - need test for resumed send of top most filesystem 2017-04-12 08:47:42 -07:00