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