bisync: test scenarios #5164

Co-authored-by: Chris Nelson <stuff@cjnaz.com>
This commit is contained in:
Ivan Andreev
2021-04-01 13:21:23 +03:00
parent 79b6866b57
commit 940e99a929
441 changed files with 3849 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1 @@
# bisync listing v1 from test

View File

@@ -0,0 +1,2 @@
"file2.txt"
"file4.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1 @@
# bisync listing v1 from test

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,8 @@
"RCLONE_TEST"
"file1.txt"
"file2.txt"
"file3.txt"
"file4.txt"
"file5.txt"
"file6.txt"
"file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1 @@
# bisync listing v1 from test

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,7 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,9 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,8 @@
# bisync listing v1 from test
- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file3.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file5.txt"
- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file6.txt"
- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt"

View File

@@ -0,0 +1,2 @@
"file2.txt"
"file4.txt"

View File

@@ -0,0 +1,91 @@
(01) : test resync
(02) : test 1. resync with empty path1, resulting in copying all content from path2.
(03) : purge-children {path1/}
(04) : bisync resync
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Copying unique Path2 files to Path1
INFO : - Path2 Resync will copy to Path1 - RCLONE_TEST
INFO : - Path2 Resync will copy to Path1 - file1.txt
INFO : - Path2 Resync will copy to Path1 - file2.txt
INFO : - Path2 Resync will copy to Path1 - file3.txt
INFO : - Path2 Resync will copy to Path1 - file4.txt
INFO : - Path2 Resync will copy to Path1 - file5.txt
INFO : - Path2 Resync will copy to Path1 - file6.txt
INFO : - Path2 Resync will copy to Path1 - file7.txt
INFO : - Path2 Resync is doing queued copies to - Path1
INFO : Resynching Path1 to Path2
INFO : Resync updating listings
INFO : Bisync successful
(05) : move-listings empty-path1
(06) : test 2. resync with empty path2, resulting in synching all content to path2.
(07) : purge-children {path2/}
(08) : bisync resync
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Copying unique Path2 files to Path1
INFO : Resynching Path1 to Path2
INFO : Resync updating listings
INFO : Bisync successful
(09) : move-listings empty-path2
(10) : test 3. exercise all of the various file difference scenarios during a resync.
(11) : touch-glob 2002-02-02 {datadir/} fileA.txt
(12) : touch-glob 1999-09-09 {datadir/} fileB.txt
(13) : test = file - path1 - path2 - expected action - who wins
(14) : test - file1.txt - exists - missing - sync path1 > path2 - path1
(15) : delete-file {path2/}file1.txt
(16) : test - file2.txt - missing - exists - copy path2 > path1 - path2
(17) : delete-file {path1/}file2.txt
(18) : test - file3.txt - exists - newer date - sync path1 > path2 - path1
(19) : copy-as {datadir/}fileA.txt {path2/} file3.txt
(20) : test - file4.txt - missing - newer date - copy path2 > path1 - path2
(21) : delete-file {path1/}file4.txt
(22) : copy-as {datadir/}fileA.txt {path2/} file4.txt
(23) : test - file5.txt - exists - older date - sync path1 > path2 - path1
(24) : copy-as {datadir/}fileB.txt {path2/} file5.txt
(25) : test - file6.txt - older date - newer date - sync path1 > path2 - path1
(26) : copy-as {datadir/}fileB.txt {path1/} file6.txt
(27) : copy-as {datadir/}fileA.txt {path2/} file6.txt
(28) : test - file7.txt - exists - exists (same) - none - same
(29) : test run bisync with resync
(30) : bisync resync
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Copying unique Path2 files to Path1
INFO : - Path2 Resync will copy to Path1 - file2.txt
INFO : - Path2 Resync will copy to Path1 - file4.txt
INFO : - Path2 Resync is doing queued copies to - Path1
INFO : Resynching Path1 to Path2
INFO : Resync updating listings
INFO : Bisync successful
(31) : copy-listings mixed-diffs
(32) : test run normal bisync
(33) : bisync
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Path1 checking for diffs
INFO : Path2 checking for diffs
INFO : No changes found
INFO : Updating listings
INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}"
INFO : Bisync successful
(34) : test 4. confirm critical error on normal sync of empty path.
(35) : purge-children {path2/}
(36) : bisync
INFO : Synching Path1 "{path1/}" with Path2 "{path2/}"
INFO : Path1 checking for diffs
INFO : Path2 checking for diffs
ERROR : Empty current Path2 listing. Cannot sync to an empty directory: {workdir/}{session}.path2.lst-new
ERROR : Bisync critical error: empty current Path2 listing: {workdir/}{session}.path2.lst-new
ERROR : Bisync aborted. Must run --resync to recover.
Bisync error: bisync aborted

View File

@@ -0,0 +1 @@
This file is used for testing the health of rclone accesses to the local/remote file system. Do not delete.

View File

View File

View File

View File

View File

View File

View File

View File

@@ -0,0 +1 @@
This file is newer

View File

@@ -0,0 +1 @@
This file is newer

View File

@@ -0,0 +1,61 @@
test resync
# 1. Resync with empty Path1, resulting in copying all content FROM Path2
# 2. Resync with empty Path2, resulting in synching all content TO Path2
# 3. Exercise all of the various file difference scenarios during a resync:
# File Path1 Path2 Expected action Who wins
# - file1.txt Exists Missing Sync Path1 >Path2 Path1
# - file2.txt Missing Exists Copy Path2 >Path1 Path2
# - file3.txt Exists Newer date Sync Path1 >Path2 Path1
# - file4.txt Missing Newer date Copy Path2 >Path1 Path2
# - file5.txt Exists Older date Sync Path1 >Path2 Path1
# - file6.txt Older date Newer date Sync Path1 >Path2 Path1
# - file7.txt Exists Exists (same) None Same
# 4. Confirm critical error on a normal sync of empty path
test 1. resync with empty path1, resulting in copying all content from path2.
purge-children {path1/}
bisync resync
move-listings empty-path1
test 2. resync with empty path2, resulting in synching all content to path2.
purge-children {path2/}
bisync resync
move-listings empty-path2
test 3. exercise all of the various file difference scenarios during a resync.
touch-glob 2002-02-02 {datadir/} fileA.txt
touch-glob 1999-09-09 {datadir/} fileB.txt
test = file - path1 - path2 - expected action - who wins
test - file1.txt - exists - missing - sync path1 > path2 - path1
delete-file {path2/}file1.txt
test - file2.txt - missing - exists - copy path2 > path1 - path2
delete-file {path1/}file2.txt
test - file3.txt - exists - newer date - sync path1 > path2 - path1
copy-as {datadir/}fileA.txt {path2/} file3.txt
test - file4.txt - missing - newer date - copy path2 > path1 - path2
delete-file {path1/}file4.txt
copy-as {datadir/}fileA.txt {path2/} file4.txt
test - file5.txt - exists - older date - sync path1 > path2 - path1
copy-as {datadir/}fileB.txt {path2/} file5.txt
test - file6.txt - older date - newer date - sync path1 > path2 - path1
copy-as {datadir/}fileB.txt {path1/} file6.txt
copy-as {datadir/}fileA.txt {path2/} file6.txt
test - file7.txt - exists - exists (same) - none - same
test run bisync with resync
bisync resync
copy-listings mixed-diffs
test run normal bisync
bisync
test 4. confirm critical error on normal sync of empty path.
purge-children {path2/}
bisync