]> git.ipfire.org Git - thirdparty/rsync.git/commit
testsuite: cross-directory/temp/backup/dest coverage at depth
authorAndrew Tridgell <andrew@tridgell.net>
Sat, 23 May 2026 21:47:10 +0000 (07:47 +1000)
committerAndrew Tridgell <andrew@tridgell.net>
Sun, 24 May 2026 02:31:52 +0000 (12:31 +1000)
commitd6124a82a47fee58fe95e59fffe96b6e40fb4d96
tree908bcb5d28920820c1bc973a9b62af7a00915451
parent1d828f35ca546aed8ef37863cec5b4db3214fb43
testsuite: cross-directory/temp/backup/dest coverage at depth

Fill the highest-restructure-risk gap: options that do two-directory / rename /
outside-tree work, asserted at >=3 levels deep with the aux tree kept outside
the main tree, and asserting the option's specific property rather than just
tree equality (which the ported tests already cover).

  alt-dest-deep  --link-dest hardlinks unchanged files (same inode), --copy-dest
                 copies (never links), --compare-dest omits unchanged files;
                 ref tree outside both src and dest.
  temp-dir       cross-dir temp->final rename at depth; temp dir left clean; a
                 missing --temp-dir fails (so the option is proven consulted).
  partial        --partial keeps the partial in the dest file; relative
                 --partial-dir stages per-directory at depth (pre-seed +
                 interrupt/resume); absolute --partial-dir writes the partial
                 outside the tree.
  inplace        --inplace keeps the destination inode across a delta update;
                 the default temp+rename path replaces it.
  append         --append completes truncated files tail-only; --append-verify
                 repairs a corrupted prefix (protocol >= 30).
  backup-deep    --suffix saves <name>S beside the new file; --backup-dir
                 relocates old files to a parallel deep tree outside the dest
                 and captures deletions under --delete.

All green on master and under --protocol=29/30.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
testsuite/alt-dest-deep_test.py [new file with mode: 0644]
testsuite/append_test.py [new file with mode: 0644]
testsuite/backup-deep_test.py [new file with mode: 0644]
testsuite/delay-updates-deep_test.py [new file with mode: 0644]
testsuite/inplace_test.py [new file with mode: 0644]
testsuite/partial_test.py [new file with mode: 0644]
testsuite/temp-dir_test.py [new file with mode: 0644]