github.com/rclone/rclone@v1.66.1-0.20240517100346-7b89735ae726/cmd/bisync/testdata/test_extended_filenames/scenario.txt (about)

     1  test extended-filenames
     2  # Tests with several files and a subdirectory
     3  # that contain UTF-8 code points or whitespace.
     4  #
     5  # Notes:
     6  # - All rclone backends including local return "\n" aka {eol} in file names
     7  #   as a pseudographic unicode glyph, thus we don't see `\n` in golden logs.
     8  # - File names with "\t" aka {tab} pass with local, dropbox, and drive
     9  #   backends, but fail with FTP. As a workaround, the test currently uses
    10  #   `name{spc}with{eol}white{spc}space` instead of
    11  #   `name{tab}with{eol}white{spc}space`.
    12  
    13  # verify expected files, attempt to fix
    14  fix-names {path1/}subdir_with_ࢺ_{/}
    15  fix-names {path2/}subdir_with_ࢺ_{/}
    16  fix-names {path1/}subdir_with_ࢺ_/filename_contains_ě_.txt
    17  fix-names {path2/}subdir_with_ࢺ_/filename_contains_ě_.txt
    18  fix-names {path1/}Русский.txt
    19  fix-names {path2/}Русский.txt
    20  fix-names {path1/}file_enconde_mañana_funcionará.txt
    21  fix-names {path2/}file_enconde_mañana_funcionará.txt
    22  
    23  test initial bisync
    24  bisync resync
    25  
    26  test place a newer files on both paths
    27  # force specific modification time since file time is lost through git
    28  touch-glob 2001-01-02 {datadir/} file1.txt
    29  touch-glob 2001-01-02 {datadir/} file2.txt
    30  copy-as {datadir/}file1.txt {path2/} New_top_level_mañana_funcionará.txt
    31  copy-as {datadir/}file1.txt {path2/} file_enconde_mañana_funcionará.txt
    32  copy-as {datadir/}file1.txt {path1/} filename_contains_ࢺ_p1m.txt
    33  copy-as {datadir/}file1.txt {path2/} Русский.txt
    34  copy-as {datadir/}file1.txt {path1/} file1_with{spc}white{spc}space.txt
    35  copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ test.txt
    36  copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ mañana_funcionará.txt
    37  copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ file_with_測試_.txt
    38  copy-as {datadir/}file1.txt {path2/}subdir_with_ࢺ_ filename_contains_ࢺ_p2s.txt
    39  copy-as {datadir/}file1.txt {path2/}subdir{spc}with{eol}white{spc}space.txt file2{spc}with{eol}white{spc}space.txt
    40  copy-as {datadir/}file1.txt {path2/}subdir_rawchars_{chr:19}_{chr:81}_{chr:fe} file3_{chr:19}_{chr:81}_{chr:fe}
    41  fix-names {path2/}subdir{spc}with{eol}white{spc}space.txt{/}file2{spc}with{eol}white{spc}space.txt
    42  
    43  test place a new file on both paths
    44  copy-as {datadir/}file2.txt {path2/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt
    45  touch-glob 2001-01-03 {datadir/} file1.txt
    46  copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt
    47  
    48  test delete files on both paths
    49  delete-file {path2/}filename_contains_ࢺ_.txt
    50  delete-file {path2/}subdir_with_ࢺ_/filename_contains_ě_.txt
    51  delete-file {path1/}Русский.txt
    52  
    53  test bisync run
    54  bisync