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

     1  test extended-char-paths
     2  # Tests handling of extended UTF-8 chars in:
     3  #   path1, path2
     4  #   --check-filename
     5  #   --filters-file (path and filename)
     6  #
     7  # Not tested:
     8  #   --workdir (hardcoded by test engine)
     9  #   tab in subdir (currently using '{spc}_{spc}' instead of '{tab}_{spc}')
    10  #
    11  # Notes:
    12  # - Github windows runner fails to checkout repo with tabs in names.
    13  # - Due to different encoding local backend returns the literal tab
    14  #   in logs or listings, but remotes return two ASCII chars `\t`.
    15  
    16  # verify expected files, attempt to fix
    17  fix-names {path1/}測試Русский{spc}{spc}ěáñ{/}
    18  fix-names {path2/}測試Русский{spc}{spc}ěáñ{/}
    19  fix-names {path1/}測試Русский{spc}{spc}ěáñ/測試_check{spc}file
    20  fix-names {path2/}測試Русский{spc}{spc}ěáñ/測試_check{spc}file
    21  fix-names {path1/}測試Русский{spc}{spc}ěáñ/filename_contains_ě_.txt
    22  fix-names {path2/}測試Русский{spc}{spc}ěáñ/filename_contains_ě_.txt
    23  fix-names {path1/}測試_check{spc}file
    24  fix-names {path2/}測試_check{spc}file
    25  fix-names {path1/}測試Русский{spc}{spc}ěáñ/測試_check{spc}file
    26  fix-names {path2/}測試Русский{spc}{spc}ěáñ/測試_check{spc}file
    27  
    28  test resync subdirs with extended chars
    29  bisync subdir=測試Русский{spc}{spc}ěáñ resync
    30  copy-listings resync
    31  
    32  test place new files with extended chars on each side
    33  # force specific modification time since file time is lost through git
    34  touch-glob 2001-01-02 {datadir/} file1.txt
    35  copy-as {datadir/}file1.txt {path1/}測試Русский{spc}{spc}ěáñ 測試_file1p1
    36  copy-as {datadir/}file1.txt {path2/}測試Русский{spc}{spc}ěáñ 測試_file1p2
    37  
    38  test normal sync of subdirs with extended chars
    39  bisync subdir=測試Русский{spc}{spc}ěáñ
    40  move-listings normal-sync
    41  
    42  test check-filename with extended chars. check should fail.
    43  bisync resync
    44  delete-file {path1/}測試Русский{spc}{spc}ěáñ/測試_check{spc}file
    45  bisync check-access check-filename=測試_check{spc}file
    46  copy-listings check-access-fail
    47  
    48  test check-filename with extended chars. check should pass.
    49  bisync resync
    50  bisync check-access check-filename=測試_check{spc}file
    51  move-listings check-access-pass
    52  
    53  test filters-file path with extended chars - masks /fileZ.txt
    54  copy-file {datadir/}測試_filtersfile.txt {workdir/}
    55  bisync filters-file={workdir/}測試_filtersfile.txt resync
    56  copy-as {datadir/}file1.txt {path1/} fileZ.txt
    57  bisync filters-file={workdir/}測試_filtersfile.txt