rclone/cmd/bisync/testdata/test_extended_filenames/scenario.txt
nielash 57624629d6 bisync: account for differences in backend features on integration tests - see #5679
Before this change, integration tests often could not be run on backends with
differing features from the local system that goldenized them. In particular,
differences in modtime precision, checksum support, and encoding would cause
false positives. After this change, the tests more accurately account for the
features of the backend being tested, which allows us to see true positives
more clearly, and more meaningfully assess whether a backend is supported.
2024-01-20 14:50:08 -05:00

54 lines
2.5 KiB
Text

test extended-filenames
# Tests with several files and a subdirectory
# that contain UTF-8 code points or whitespace.
#
# Notes:
# - All rclone backends including local return "\n" aka {eol} in file names
# as a pseudographic unicode glyph, thus we don't see `\n` in golden logs.
# - File names with "\t" aka {tab} pass with local, dropbox, and drive
# backends, but fail with FTP. As a workaround, the test currently uses
# `name{spc}with{eol}white{spc}space` instead of
# `name{tab}with{eol}white{spc}space`.
# verify expected files, attempt to fix
fix-names {path1/}subdir_with_ࢺ_{/}
fix-names {path2/}subdir_with_ࢺ_{/}
fix-names {path1/}subdir_with_ࢺ_/filename_contains_ě_.txt
fix-names {path2/}subdir_with_ࢺ_/filename_contains_ě_.txt
fix-names {path1/}Русский.txt
fix-names {path2/}Русский.txt
fix-names {path1/}file_enconde_mañana_funcionará.txt
fix-names {path2/}file_enconde_mañana_funcionará.txt
test initial bisync
bisync resync
test place a newer files on both paths
# force specific modification time since file time is lost through git
touch-glob 2001-01-02 {datadir/} file1.txt
touch-glob 2001-01-02 {datadir/} file2.txt
copy-as {datadir/}file1.txt {path2/} New_top_level_mañana_funcionará.txt
copy-as {datadir/}file1.txt {path2/} file_enconde_mañana_funcionará.txt
copy-as {datadir/}file1.txt {path1/} filename_contains_ࢺ_p1m.txt
copy-as {datadir/}file1.txt {path2/} Русский.txt
copy-as {datadir/}file1.txt {path1/} file1_with{spc}white{spc}space.txt
copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ test.txt
copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ mañana_funcionará.txt
copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ file_with_測試_.txt
copy-as {datadir/}file1.txt {path2/}subdir_with_ࢺ_ filename_contains_ࢺ_p2s.txt
copy-as {datadir/}file1.txt {path2/}subdir{spc}with{eol}white{spc}space.txt file2{spc}with{eol}white{spc}space.txt
copy-as {datadir/}file1.txt {path2/}subdir_rawchars_{chr:19}_{chr:81}_{chr:fe} file3_{chr:19}_{chr:81}_{chr:fe}
fix-names {path2/}subdir{spc}with{eol}white{spc}space.txt{/}file2{spc}with{eol}white{spc}space.txt
test place a new file on both paths
copy-as {datadir/}file2.txt {path2/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt
touch-glob 2001-01-03 {datadir/} file1.txt
copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt
test delete files on both paths
delete-file {path2/}filename_contains_ࢺ_.txt
delete-file {path2/}subdir_with_ࢺ_/filename_contains_ě_.txt
delete-file {path1/}Русский.txt
test bisync run
bisync