github.com/rclone/rclone@v1.66.1-0.20240517100346-7b89735ae726/fs/logger/testdata/script/TestRepoCompare.txtar (about) 1 # tests whether rclone check and rclone sync output exactly the same file lists. 2 # uses two different old versions of rclone source code for the src and dst 3 # to produce a more realistic test than makefiles 4 # (has lots of files with same name but different content) 5 6 # Filling src and dst with two different versions of rclone source!: 7 exec rclone copyurl https://github.com/rclone/rclone/archive/refs/tags/v1.49.1.zip $SRC/src.zip 8 exec rclone copyurl https://github.com/rclone/rclone/archive/refs/tags/v1.54.1.zip $DST/dst.zip 9 exec unzip $SRC/src.zip -d $SRC 10 exec unzip $DST/dst.zip -d $DST 11 12 13 # running rclone check for baseline test: 14 # error is expected here: 15 ! exec rclone check $SRC $DST --match $WORK/CHECKmatch.txt --combined $WORK/CHECKcombined.txt --missing-on-src $WORK/CHECKmissingonsrc.txt --missing-on-dst $WORK/CHECKmissingondst.txt --error $WORK/CHECKerr.txt --differ $WORK/CHECKdiffer.txt -q 16 17 # running sync with output files: 18 exec rclone sync $SRC $DST --match $WORK/SYNCmatch.txt --combined $WORK/SYNCcombined.txt --missing-on-src $WORK/SYNCmissingonsrc.txt --missing-on-dst $WORK/SYNCmissingondst.txt --error $WORK/SYNCerr.txt --differ $WORK/SYNCdiffer.txt 19 20 # sorting them by line and diffing: 21 exec sort $WORK/CHECKmatch.txt -o $WORK/CHECKmatch.txt 22 exec sort $WORK/CHECKcombined.txt -o $WORK/CHECKcombined.txt 23 exec sort $WORK/CHECKmissingonsrc.txt -o $WORK/CHECKmissingonsrc.txt 24 exec sort $WORK/CHECKmissingondst.txt -o $WORK/CHECKmissingondst.txt 25 exec sort $WORK/CHECKerr.txt -o $WORK/CHECKerr.txt 26 exec sort $WORK/CHECKdiffer.txt -o $WORK/CHECKdiffer.txt 27 28 exec sort $WORK/SYNCmatch.txt -o $WORK/SYNCmatch.txt 29 exec sort $WORK/SYNCcombined.txt -o $WORK/SYNCcombined.txt 30 exec sort $WORK/SYNCmissingonsrc.txt -o $WORK/SYNCmissingonsrc.txt 31 exec sort $WORK/SYNCmissingondst.txt -o $WORK/SYNCmissingondst.txt 32 exec sort $WORK/SYNCerr.txt -o $WORK/SYNCerr.txt 33 exec sort $WORK/SYNCdiffer.txt -o $WORK/SYNCdiffer.txt 34 35 # diff match check vs. sync: 36 cmp $WORK/CHECKmatch.txt $WORK/SYNCmatch.txt 37 # diff combined check vs. sync: 38 cmp $WORK/CHECKcombined.txt $WORK/SYNCcombined.txt 39 # diff missingonsrc check vs. sync: 40 cmp $WORK/CHECKmissingonsrc.txt $WORK/SYNCmissingonsrc.txt 41 # diff missingondst check vs. sync: 42 cmp $WORK/CHECKmissingondst.txt $WORK/SYNCmissingondst.txt 43 # diff error check vs. sync: 44 cmp $WORK/CHECKerr.txt $WORK/SYNCerr.txt 45 # diff differ check vs. sync: 46 cmp $WORK/CHECKdiffer.txt $WORK/SYNCdiffer.txt 47 48 # verify accuracy 49 exec rclone check $SRC $DST 50 exec diff -rya --suppress-common-lines $SRC $DST 51 [!windows] exec rsync -aEvhPu $SRC/ $WORK/rsyncDst 52 [!windows] exec rclone check $DST $WORK/rsyncDst