rclone/cmd/bisync/testdata/test_nomodtime/scenario.txt
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

53 lines
1.6 KiB
Text

test changes
# Exercise all of the various file change scenarios
# - New on Path2 file10
# - changed on Path2 file1
# - New on Path1 file11
# - changed on Path1 file2
# - Deleted on Path2 file3
# - Deleted on Path1 file4
# - Changed on Path2 and on Path1 file5 (file5r, file5l)
# - changed on Path2 and deleted on Path1 file6
# - changed on Path1 and deleted on Path2 file7
# - Deleted on both paths file8
test initial bisync
bisync resync nomodtime
test make modifications on both paths
test new on path2 - file10
copy-file {datadir/}file10.txt {path2/}
test changed on path2 - file1
copy-file {datadir/}file1.txt {path2/}
test new on path1 - file11
copy-file {datadir/}file11.txt {path1/}
test changed on path1 - file2
copy-file {datadir/}file2.txt {path1/}
test deleted on path2 - file3
delete-file {path2/}file3.txt
test deleted on path1 - file4
delete-file {path1/}file4.txt
test deleted on both paths - file8
delete-file {path1/}file8.txt
delete-file {path2/}file8.txt
test changed on both paths - file5 (file5R, file5L)
copy-as {datadir/}file5R.txt {path2/} file5.txt
copy-as {datadir/}file5L.txt {path1/} file5.txt
test changed on path2 and deleted on path1 - file6
copy-file {datadir/}file6.txt {path2/}
delete-file {path1/}file6.txt
test changed on path1 and deleted on path2 - file7
copy-file {datadir/}file7.txt {path1/}
delete-file {path2/}file7.txt
test bisync run
bisync nomodtime