rclone/cmd/bisync/testdata/test_resolve/golden/test.log
nielash 2bebbfaded bisync: add to integration tests - fixes #7665
This change officially adds bisync to the nightly integration tests for all
backends.

This will be part of giving us the confidence to take bisync out of beta.

A number of fixes have been added to account for features which can differ on
different backends -- for example, hash types / modtime support, empty
directories, unicode normalization, and unimportant differences in log output.
We will likely find that more of these are needed once we start running these
with the full set of remotes.

Additionally, bisync's extremely sensitive tests revealed a few bugs in other
backends that weren't previously covered by other tests. Fixes for those issues
have been submitted on the following separate PRs (and bisync test failures will
be expected until they are merged):

- #7670 memory: fix deadlock in operations.Purge
- #7688 memory: fix incorrect list entries when rooted at subdirectory
- #7690 memory: fix dst mutating src after server-side copy
- #7692 dropbox: fix chunked uploads when size <= chunkSize

Relatedly, workarounds have been put in place for the following backend
limitations that are unsolvable for the time being:

- #3262 drive is sometimes aware of trashed files/folders when it shouldn't be
- #6199 dropbox can't handle emojis and certain other characters
- #4590 onedrive API has longstanding bug for conflictBehavior=replace in
	server-side copy/move
2024-03-27 10:50:14 -04:00

17 KiB

(01) : test resolve
 

(02) : test initial bisync
(03) : bisync resync
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Copying Path2 files to Path1
INFO : - Path2 Resync is copying files to - Path1
INFO : - Path1 Resync is copying files to - Path2
INFO : Resync updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
 
(04) : test changed on both paths and NOT identical - file1 (file1R, file1L)
(05) : touch-glob 2001-01-02 {datadir/} file1R.txt
(06) : copy-as {datadir/}file1R.txt {path2/} file1.txt
(07) : touch-glob 2001-03-04 {datadir/} file1L.txt
(08) : copy-as {datadir/}file1L.txt {path1/} file1.txt
 
(09) : test bisync run with --conflict-resolve=newer --conflict-loser=delete --conflict-suffix=potato
 
(10) : bisync conflict-resolve=newer conflict-loser=delete conflict-suffix=potato
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Building Path1 and Path2 listings
INFO : Path1 checking for diffs
INFO : - Path1 File changed: size (larger), time (newer) - file1.txt
INFO : Path1: 1 changes: 0 new, 1 modified, 0 deleted
INFO : (Modified: 1 newer, 0 older, 1 larger, 0 smaller)
INFO : Path2 checking for diffs
INFO : - Path2 File changed: size (larger), time (newer) - file1.txt
INFO : Path2: 1 changes: 0 new, 1 modified, 0 deleted
INFO : (Modified: 1 newer, 0 older, 1 larger, 0 smaller)
INFO : Applying changes
INFO : Checking potential conflicts...
ERROR : file1.txt: {hashtype} differ
NOTICE: {path2String}: 1 differences found
NOTICE: {path2String}: 1 errors while checking
INFO : Finished checking the potential conflicts. 1 differences found
NOTICE: - WARNING New or changed in both paths - file1.txt
INFO : file1.txt: Path1 is newer. Path1: 2001-03-04 00:00:00 +0000 UTC, Path2: 2001-01-02 00:00:00 +0000 UTC, Difference: 1464h0m0s
INFO : file1.txt: The winner is: Path1
NOTICE: - Path2 Deleting Path2 copy - {path2/}file1.txt
INFO : - Path1 Queue copy to Path2 - file1.txt
INFO : - Path1 Do queued copies to - Path2
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
 
(11) : test changed on both paths and NOT identical - file1 (file1R, file1L)
(12) : touch-glob 2001-07-23 {datadir/} file1R.txt
(13) : copy-as {datadir/}file1R.txt {path2/} file1.txt
(14) : touch-glob 2001-08-26 {datadir/} file1L.txt
(15) : copy-as {datadir/}file1L.txt {path1/} file1.txt
 
(16) : test bisync run with --conflict-resolve=path2 --conflict-loser=num --conflict-suffix=dinosaur
 
(17) : bisync conflict-resolve=path2 conflict-loser=num conflict-suffix=dinosaur
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Building Path1 and Path2 listings
INFO : Path1 checking for diffs
INFO : - Path1 File changed: time (newer) - file1.txt
INFO : Path1: 1 changes: 0 new, 1 modified, 0 deleted
INFO : (Modified: 1 newer, 0 older)
INFO : Path2 checking for diffs
INFO : - Path2 File changed: time (newer) - file1.txt
INFO : Path2: 1 changes: 0 new, 1 modified, 0 deleted
INFO : (Modified: 1 newer, 0 older)
INFO : Applying changes
INFO : Checking potential conflicts...
ERROR : file1.txt: {hashtype} differ
NOTICE: {path2String}: 1 differences found
NOTICE: {path2String}: 1 errors while checking
INFO : Finished checking the potential conflicts. 1 differences found
NOTICE: - WARNING New or changed in both paths - file1.txt
INFO : file1.txt: The winner is: Path2
NOTICE: - Path1 Renaming Path1 copy - {path1/}file1.txt.dinosaur1
NOTICE: - Path1 Queue copy to Path2 - {path2/}file1.txt.dinosaur1
NOTICE: - Path2 Not renaming Path2 copy, as it was determined the winner - {path2/}file1.txt
NOTICE: - Path2 Queue copy to Path1 - {path1/}file1.txt
INFO : - Path2 Do queued copies to - Path1
INFO : - Path1 Do queued copies to - Path2
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
 
(18) : test changed on both paths and NOT identical - file1 (file1R, file1L)
(19) : touch-glob 2002-07-23 {datadir/} file1R.txt
(20) : copy-as {datadir/}file1R.txt {path2/} file1.txt
(21) : touch-glob 2002-08-26 {datadir/} file1L.txt
(22) : copy-as {datadir/}file1L.txt {path1/} file1.txt
 
(23) : test bisync run with --conflict-resolve=larger --conflict-loser=num --conflict-suffix=apple
 
(24) : bisync conflict-resolve=larger conflict-loser=num conflict-suffix=apple
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Building Path1 and Path2 listings
INFO : Path1 checking for diffs
INFO : - Path1 File is new - file1.txt
INFO : Path1: 1 changes: 1 new, 0 modified, 0 deleted
INFO : Path2 checking for diffs
INFO : - Path2 File is new - file1.txt
INFO : Path2: 1 changes: 1 new, 0 modified, 0 deleted
INFO : Applying changes
INFO : Checking potential conflicts...
ERROR : file1.txt: {hashtype} differ
NOTICE: {path2String}: 1 differences found
NOTICE: {path2String}: 1 errors while checking
INFO : Finished checking the potential conflicts. 1 differences found
NOTICE: - WARNING New or changed in both paths - file1.txt
INFO : file1.txt: Winner cannot be determined as sizes are equal. Path1: 33, Path2: 33, Difference: 0
INFO : file1.txt: A winner could not be determined.
NOTICE: - Path1 Renaming Path1 copy - {path1/}file1.txt.apple1
NOTICE: - Path1 Queue copy to Path2 - {path2/}file1.txt.apple1
NOTICE: - Path2 Renaming Path2 copy - {path2/}file1.txt.apple2
NOTICE: - Path2 Queue copy to Path1 - {path1/}file1.txt.apple2
INFO : - Path2 Do queued copies to - Path1
INFO : - Path1 Do queued copies to - Path2
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
 
(25) : test different suffixes
(26) : touch-glob 2003-07-23 {datadir/} file1R.txt
(27) : copy-as {datadir/}file1R.txt {path2/} file1.txt
(28) : touch-glob 2003-07-23 {datadir/} file1L.txt
(29) : copy-as {datadir/}file1L.txt {path1/} file1.txt
 
(30) : test bisync run with --conflict-resolve=older --conflict-loser=num --conflict-suffix=cloud,local
 
(31) : bisync conflict-resolve=older conflict-loser=num conflict-suffix=cloud,local
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Building Path1 and Path2 listings
INFO : Path1 checking for diffs
INFO : - Path1 File is new - file1.txt
INFO : Path1: 1 changes: 1 new, 0 modified, 0 deleted
INFO : Path2 checking for diffs
INFO : - Path2 File is new - file1.txt
INFO : Path2: 1 changes: 1 new, 0 modified, 0 deleted
INFO : Applying changes
INFO : Checking potential conflicts...
ERROR : file1.txt: {hashtype} differ
NOTICE: {path2String}: 1 differences found
NOTICE: {path2String}: 1 errors while checking
INFO : Finished checking the potential conflicts. 1 differences found
NOTICE: - WARNING New or changed in both paths - file1.txt
INFO : file1.txt: Winner cannot be determined as times are equal. Path1: 2003-07-23 00:00:00 +0000 UTC, Path2: 2003-07-23 00:00:00 +0000 UTC, Difference: 0s
INFO : file1.txt: A winner could not be determined.
NOTICE: - Path1 Renaming Path1 copy - {path1/}file1.txt.cloud1
NOTICE: - Path1 Queue copy to Path2 - {path2/}file1.txt.cloud1
NOTICE: - Path2 Renaming Path2 copy - {path2/}file1.txt.local1
NOTICE: - Path2 Queue copy to Path1 - {path1/}file1.txt.local1
INFO : - Path2 Do queued copies to - Path1
INFO : - Path1 Do queued copies to - Path2
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
 
(32) : test legacy
(33) : touch-glob 2004-07-23 {datadir/} file1R.txt
(34) : copy-as {datadir/}file1R.txt {path2/} file1.txt
(35) : touch-glob 2004-07-23 {datadir/} file1L.txt
(36) : copy-as {datadir/}file1L.txt {path1/} file1.txt
 
(37) : test bisync run with --conflict-resolve=none --conflict-loser=pathname --conflict-suffix=.path
 
(38) : bisync conflict-resolve=none conflict-loser=pathname conflict-suffix=.path
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Building Path1 and Path2 listings
INFO : Path1 checking for diffs
INFO : - Path1 File is new - file1.txt
INFO : Path1: 1 changes: 1 new, 0 modified, 0 deleted
INFO : Path2 checking for diffs
INFO : - Path2 File is new - file1.txt
INFO : Path2: 1 changes: 1 new, 0 modified, 0 deleted
INFO : Applying changes
INFO : Checking potential conflicts...
ERROR : file1.txt: {hashtype} differ
NOTICE: {path2String}: 1 differences found
NOTICE: {path2String}: 1 errors while checking
INFO : Finished checking the potential conflicts. 1 differences found
NOTICE: - WARNING New or changed in both paths - file1.txt
NOTICE: - Path1 Renaming Path1 copy - {path1/}file1.txt..path1
NOTICE: - Path1 Queue copy to Path2 - {path2/}file1.txt..path1
NOTICE: - Path2 Renaming Path2 copy - {path2/}file1.txt..path2
NOTICE: - Path2 Queue copy to Path1 - {path1/}file1.txt..path2
INFO : - Path2 Do queued copies to - Path1
INFO : - Path1 Do queued copies to - Path2
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
 
(39) : test deletes on both sides with default suffix
(40) : touch-glob 2005-01-02 {datadir/} file1R.txt
(41) : copy-as {datadir/}file1R.txt {path2/} file1.txt
(42) : copy-as {datadir/}file1R.txt {path1/} file2.txt
(43) : touch-glob 2006-03-04 {datadir/} file1L.txt
(44) : copy-as {datadir/}file1L.txt {path1/} file1.txt
(45) : copy-as {datadir/}file1L.txt {path2/} file2.txt
 
(46) : test bisync run with --conflict-resolve=newer --conflict-loser=delete
(47) : bisync conflict-resolve=newer conflict-loser=delete
INFO : Setting --ignore-listing-checksum as neither --checksum nor --compare checksum are set.
INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"DownloadHash": false
}
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Building Path1 and Path2 listings
INFO : Path1 checking for diffs
INFO : - Path1 File changed: size (larger), time (newer) - file2.txt
INFO : - Path1 File is new - file1.txt
INFO : Path1: 2 changes: 1 new, 1 modified, 0 deleted
INFO : (Modified: 1 newer, 0 older, 1 larger, 0 smaller)
INFO : Path2 checking for diffs
INFO : - Path2 File changed: size (larger), time (newer) - file2.txt
INFO : - Path2 File is new - file1.txt
INFO : Path2: 2 changes: 1 new, 1 modified, 0 deleted
INFO : (Modified: 1 newer, 0 older, 1 larger, 0 smaller)
INFO : Applying changes
INFO : Checking potential conflicts...
ERROR : file1.txt: {hashtype} differ
ERROR : file2.txt: {hashtype} differ
NOTICE: {path2String}: 2 differences found
NOTICE: {path2String}: 2 errors while checking
INFO : Finished checking the potential conflicts. 2 differences found
NOTICE: - WARNING New or changed in both paths - file1.txt
INFO : file1.txt: Path1 is newer. Path1: 2006-03-04 00:00:00 +0000 UTC, Path2: 2005-01-02 00:00:00 +0000 UTC, Difference: 10224h0m0s
INFO : file1.txt: The winner is: Path1
NOTICE: - Path2 Deleting Path2 copy - {path2/}file1.txt
INFO : - Path1 Queue copy to Path2 - file1.txt
NOTICE: - WARNING New or changed in both paths - file2.txt
INFO : file2.txt: Path2 is newer. Path1: 2005-01-02 00:00:00 +0000 UTC, Path2: 2006-03-04 00:00:00 +0000 UTC, Difference: 10224h0m0s
INFO : file2.txt: The winner is: Path2
NOTICE: - Path1 Deleting Path1 copy - {path1/}file2.txt
INFO : - Path2 Queue copy to Path1 - file2.txt
INFO : - Path2 Do queued copies to - Path1
INFO : - Path1 Do queued copies to - Path2
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful