"go test -v -timeout 1h0m0s -remote TestOpenDrive: -verbose -test.run '^TestIntegration$/^FsMkdir$/^FsEncoding$/^(URL_encoding|control_chars|dot|dot_dot|invalid_UTF-8|leading_CR|leading_HT|leading_LF|leading_VT|leading_dot|leading_space|leading_tilde|punctuation|trailing_CR|trailing_HT|trailing_LF|trailing_VT|trailing_dot|trailing_space)$|^TestIntegration$/^FsMkdir$/^FsPutFiles$/^(FsDirMove|FsListDirFile2|FsListLevel2|FsListR|FsPurge|FsPurgeRoot)$|^TestIntegration$/^FsMkdir$/^FsPutFiles$/^FromRoot$/^(List|ListEntries)$'" - Starting (try 2/5) === RUN TestIntegration fstests.go:438: Using remote "TestOpenDrive:" 2026/01/16 04:45:15 DEBUG : Creating backend with remote "TestOpenDrive:rclone-test-kuyenej6hoka" 2026/01/16 04:45:15 DEBUG : Using config file from "/home/rclone/.rclone.conf" 2026/01/16 04:45:15 DEBUG : Starting OpenDrive session with ID: df7a5216e7a251763700e8b1bce5851b019dd9f73b5bae103dc57b4b6099ec05 === RUN TestIntegration/FsMkdir === RUN TestIntegration/FsMkdir/FsEncoding === RUN TestIntegration/FsMkdir/FsEncoding/control_chars fstests.go:707: testing "␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␡" 2026/01/16 04:45:17 DEBUG : ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␡/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␡: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/dot fstests.go:707: testing "." 2026/01/16 04:45:21 DEBUG : ./.: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/dot_dot fstests.go:707: testing ".." 2026/01/16 04:45:24 DEBUG : ../..: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/punctuation fstests.go:707: testing "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" 2026/01/16 04:45:27 DEBUG : !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~/!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_space fstests.go:707: testing " leading space" 2026/01/16 04:45:31 DEBUG : leading space/ leading space: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_tilde fstests.go:707: testing "~leading tilde" 2026/01/16 04:45:34 DEBUG : ~leading tilde/~leading tilde: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_CR fstests.go:707: testing "␍leading CR" 2026/01/16 04:45:37 DEBUG : ␍leading CR/␍leading CR: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_LF fstests.go:707: testing "␊leading LF" 2026/01/16 04:45:41 DEBUG : ␊leading LF/␊leading LF: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_HT fstests.go:707: testing "␉leading HT" 2026/01/16 04:45:44 DEBUG : ␉leading HT/␉leading HT: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_VT fstests.go:707: testing "␋leading VT" 2026/01/16 04:45:48 DEBUG : ␋leading VT/␋leading VT: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/leading_dot fstests.go:707: testing ".leading dot" 2026/01/16 04:45:51 DEBUG : .leading dot/.leading dot: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/trailing_space fstests.go:707: testing "trailing space " 2026/01/16 04:45:54 DEBUG : trailing space /trailing space : Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/trailing_CR fstests.go:707: testing "trailing CR␍" 2026/01/16 04:45:58 DEBUG : trailing CR␍/trailing CR␍: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/trailing_LF fstests.go:707: testing "trailing LF␊" 2026/01/16 04:46:01 DEBUG : trailing LF␊/trailing LF␊: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/trailing_HT fstests.go:707: testing "trailing HT␉" 2026/01/16 04:46:04 DEBUG : trailing HT␉/trailing HT␉: Uploading chunk 0, size=100, remain=0 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:292: Sleeping for 6s just to make sure === RUN TestIntegration/FsMkdir/FsEncoding/trailing_VT fstests.go:707: testing "trailing VT␋" 2026/01/16 04:46:15 DEBUG : trailing VT␋/trailing VT␋: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsEncoding/trailing_dot fstests.go:707: testing "trailing dot." 2026/01/16 04:46:19 DEBUG : trailing dot./trailing dot.: Uploading chunk 0, size=100, remain=0 fstests.go:716: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:716 Error: Received unexpected error: folder not empty Test: TestIntegration/FsMkdir/FsEncoding/trailing_dot fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:717 Error: Not equal: expected: []string{} actual : []string{"trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsEncoding/trailing_dot Messages: directories === RUN TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 fstests.go:707: testing "invalid utf-8\xfe" 2026/01/16 04:46:30 DEBUG : invalid utf-8/invalid utf-8: Uploading chunk 0, size=100, remain=0 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:714 Error: Not equal: expected: []string{"invalid utf-8\xfe"} actual : []string{"invalid utf-8\xfe", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,3 +1,4 @@ -([]string) (len=1) { - (string) (len=14) "invalid utf-8\xfe" +([]string) (len=2) { + (string) (len=14) "invalid utf-8\xfe", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 Messages: directories fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:717 Error: Not equal: expected: []string{} actual : []string{"trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 Messages: directories === RUN TestIntegration/FsMkdir/FsEncoding/URL_encoding fstests.go:707: testing "test%46.txt" 2026/01/16 04:46:51 DEBUG : test%46.txt/test%46.txt: Uploading chunk 0, size=100, remain=0 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:714 Error: Not equal: expected: []string{"test%46.txt"} actual : []string{"test%46.txt", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,3 +1,4 @@ -([]string) (len=1) { - (string) (len=11) "test%46.txt" +([]string) (len=2) { + (string) (len=11) "test%46.txt", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsEncoding/URL_encoding Messages: directories fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:717 Error: Not equal: expected: []string{} actual : []string{"trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsEncoding/URL_encoding Messages: directories === RUN TestIntegration/FsMkdir/FsPutFiles 2026/01/16 04:47:11 DEBUG : file name.txt: Uploading chunk 0, size=100, remain=0 2026/01/16 04:47:14 DEBUG : hello? sausage/êé/Hello, 世界/ " ' @ < > & ? + ≠/z.txt: Uploading chunk 0, size=100, remain=0 2026/01/16 04:47:16 DEBUG : file name.txt: Uploading chunk 0, size=100, remain=0 === RUN TestIntegration/FsMkdir/FsPutFiles/FsListDirFile2 fstests.go:978: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:978 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:998 Error: Not equal: expected: []string{"hello? sausage"} actual : []string{"hello? sausage", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,3 +1,4 @@ -([]string) (len=1) { - (string) (len=14) "hello? sausage" +([]string) (len=2) { + (string) (len=14) "hello? sausage", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsListDirFile2 === RUN TestIntegration/FsMkdir/FsPutFiles/FsListR fstests.go:1015: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1015 Error: Not equal: expected: []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=4) { +([]string) (len=5) { (string) (len=14) "hello? sausage", @@ -4,3 +4,4 @@ (string) (len=33) "hello? sausage/êé/Hello, 世界", - (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsListR === RUN TestIntegration/FsMkdir/FsPutFiles/FsListLevel2 fstests.go:1094: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1094 Error: Not equal: expected: []string{"hello? sausage", "hello? sausage/êé"} actual : []string{"hello? sausage", "hello? sausage/êé", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,4 +1,5 @@ -([]string) (len=2) { +([]string) (len=3) { (string) (len=14) "hello? sausage", - (string) (len=19) "hello? sausage/êé" + (string) (len=19) "hello? sausage/êé", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsListLevel2 === RUN TestIntegration/FsMkdir/FsPutFiles/FsPurge 2026/01/16 04:47:21 DEBUG : dirToPurge/fileToPurge.txt: Uploading chunk 0, size=100, remain=0 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1163 Error: Not equal: expected: []string{"dirToPurge", "hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"dirToPurge", "hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=5) { +([]string) (len=6) { (string) (len=10) "dirToPurge", @@ -5,3 +5,4 @@ (string) (len=33) "hello? sausage/êé/Hello, 世界", - (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurge Messages: directories fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1175 Error: Not equal: expected: []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=4) { +([]string) (len=5) { (string) (len=14) "hello? sausage", @@ -4,3 +4,4 @@ (string) (len=33) "hello? sausage/êé/Hello, 世界", - (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurge Messages: directories === RUN TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot 2026/01/16 04:47:45 DEBUG : dirToPurgeFromRoot/fileToPurgeFromRoot.txt: Uploading chunk 0, size=100, remain=0 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1200 Error: Not equal: expected: []string{"dirToPurgeFromRoot", "hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"dirToPurgeFromRoot", "hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=5) { +([]string) (len=6) { (string) (len=18) "dirToPurgeFromRoot", @@ -5,3 +5,4 @@ (string) (len=33) "hello? sausage/êé/Hello, 世界", - (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot Messages: directories 2026/01/16 04:47:56 DEBUG : Creating backend with remote "TestOpenDrive:rclone-test-kuyenej6hoka/dirToPurgeFromRoot" 2026/01/16 04:47:56 DEBUG : Config file has changed externally - reloading 2026/01/16 04:47:57 DEBUG : Starting OpenDrive session with ID: 25fc8d23a206cc80766838f455c7270b46368442d991fd0eb489378622464ff6 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1217 Error: Not equal: expected: []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=4) { +([]string) (len=5) { (string) (len=14) "hello? sausage", @@ -4,3 +4,4 @@ (string) (len=33) "hello? sausage/êé/Hello, 世界", - (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot Messages: directories === RUN TestIntegration/FsMkdir/FsPutFiles/FsDirMove 2026/01/16 04:48:08 DEBUG : Creating backend with remote "TestOpenDrive:rclone-test-culuqij3keyu" 2026/01/16 04:48:08 DEBUG : Starting OpenDrive session with ID: 3d61c51db5342fca4f749fcabfcd23fc9e0bafe3829f5f5a10195cd03b5279e8 fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1489 Error: Not equal: expected: []string{"new_name", "new_name/sub_new_name", "new_name/sub_new_name/hello? sausage", "new_name/sub_new_name/hello? sausage/êé", "new_name/sub_new_name/hello? sausage/êé/Hello, 世界", "new_name/sub_new_name/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"new_name", "new_name/sub_new_name", "new_name/sub_new_name/hello? sausage", "new_name/sub_new_name/hello? sausage/êé", "new_name/sub_new_name/hello? sausage/êé/Hello, 世界", "new_name/sub_new_name/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "new_name/sub_new_name/trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=6) { +([]string) (len=7) { (string) (len=8) "new_name", @@ -6,3 +6,4 @@ (string) (len=55) "new_name/sub_new_name/hello? sausage/êé/Hello, 世界", - (string) (len=76) "new_name/sub_new_name/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=76) "new_name/sub_new_name/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=35) "new_name/sub_new_name/trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsDirMove Messages: directories fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:338 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1503 Error: Not equal: expected: []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"hello? sausage", "hello? sausage/êé", "hello? sausage/êé/Hello, 世界", "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=4) { +([]string) (len=5) { (string) (len=14) "hello? sausage", @@ -4,3 +4,4 @@ (string) (len=33) "hello? sausage/êé/Hello, 世界", - (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=54) "hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=13) "trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FsDirMove Messages: directories 2026/01/16 04:48:33 DEBUG : OpenDrive root 'rclone-test-culuqij3keyu': Purge remote === RUN TestIntegration/FsMkdir/FsPutFiles/FromRoot fstests.go:1915: Opening root remote "TestOpenDrive:" path "rclone-test-kuyenej6hoka" from "TestOpenDrive:rclone-test-kuyenej6hoka" 2026/01/16 04:48:33 DEBUG : Creating backend with remote "TestOpenDrive:" 2026/01/16 04:48:34 DEBUG : Starting OpenDrive session with ID: 9475bd37ce3d3770a5940b72dc175b42813f0d0d0ad91bccd2f9b6c22f2a594b === RUN TestIntegration/FsMkdir/FsPutFiles/FromRoot/List fstest.go:298: Sleeping for 1s for list eventual consistency: 1/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 2s for list eventual consistency: 2/3 fstest.go:301: Flushing the directory cache fstest.go:298: Sleeping for 4s for list eventual consistency: 3/3 fstest.go:301: Flushing the directory cache fstest.go:327: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:327 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1935 Error: Not equal: expected: []string{"rclone-test-kuyenej6hoka/hello? sausage", "rclone-test-kuyenej6hoka/hello? sausage/êé", "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界", "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠"} actual : []string{"rclone-test-kuyenej6hoka/hello? sausage", "rclone-test-kuyenej6hoka/hello? sausage/êé", "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界", "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", "rclone-test-kuyenej6hoka/trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,2 @@ -([]string) (len=4) { +([]string) (len=5) { (string) (len=39) "rclone-test-kuyenej6hoka/hello? sausage", @@ -4,3 +4,4 @@ (string) (len=58) "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界", - (string) (len=79) "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠" + (string) (len=79) "rclone-test-kuyenej6hoka/hello? sausage/êé/Hello, 世界/ \" ' @ < > & ? + ≠", + (string) (len=38) "rclone-test-kuyenej6hoka/trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FromRoot/List Messages: directories === RUN TestIntegration/FsMkdir/FsPutFiles/FromRoot/ListEntries fstest.go:398: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstest.go:398 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1942 Error: Not equal: expected: []string{"rclone-test-kuyenej6hoka/hello? sausage"} actual : []string{"rclone-test-kuyenej6hoka/hello? sausage", "rclone-test-kuyenej6hoka/trailing dot."} Diff: --- Expected +++ Actual @@ -1,3 +1,4 @@ -([]string) (len=1) { - (string) (len=39) "rclone-test-kuyenej6hoka/hello? sausage" +([]string) (len=2) { + (string) (len=39) "rclone-test-kuyenej6hoka/hello? sausage", + (string) (len=38) "rclone-test-kuyenej6hoka/trailing dot." } Test: TestIntegration/FsMkdir/FsPutFiles/FromRoot/ListEntries Messages: directories not equal 2026/01/16 04:48:45 ERROR : error listing: directory not found --- FAIL: TestIntegration (210.94s) --- FAIL: TestIntegration/FsMkdir (209.56s) --- FAIL: TestIntegration/FsMkdir/FsEncoding (113.81s) --- PASS: TestIntegration/FsMkdir/FsEncoding/control_chars (3.30s) --- PASS: TestIntegration/FsMkdir/FsEncoding/dot (3.26s) --- PASS: TestIntegration/FsMkdir/FsEncoding/dot_dot (3.28s) --- PASS: TestIntegration/FsMkdir/FsEncoding/punctuation (3.38s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_space (3.27s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_tilde (3.29s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_CR (3.45s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_LF (3.35s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_HT (3.47s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_VT (3.27s) --- PASS: TestIntegration/FsMkdir/FsEncoding/leading_dot (3.47s) --- PASS: TestIntegration/FsMkdir/FsEncoding/trailing_space (3.42s) --- PASS: TestIntegration/FsMkdir/FsEncoding/trailing_CR (3.29s) --- PASS: TestIntegration/FsMkdir/FsEncoding/trailing_LF (3.45s) --- PASS: TestIntegration/FsMkdir/FsEncoding/trailing_HT (10.85s) --- PASS: TestIntegration/FsMkdir/FsEncoding/trailing_VT (3.46s) --- FAIL: TestIntegration/FsMkdir/FsEncoding/trailing_dot (11.38s) --- FAIL: TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 (20.53s) --- FAIL: TestIntegration/FsMkdir/FsEncoding/URL_encoding (20.45s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles (94.57s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FsListDirFile2 (0.93s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FsListR (0.90s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FsListLevel2 (0.38s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FsPurge (23.63s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot (24.36s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FsDirMove (25.59s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FromRoot (11.18s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FromRoot/List (10.34s) --- FAIL: TestIntegration/FsMkdir/FsPutFiles/FromRoot/ListEntries (0.35s) FAIL exit status 1 FAIL github.com/rclone/rclone/backend/opendrive 210.956s "go test -v -timeout 1h0m0s -remote TestOpenDrive: -verbose -test.run '^TestIntegration$/^FsMkdir$/^FsEncoding$/^(URL_encoding|control_chars|dot|dot_dot|invalid_UTF-8|leading_CR|leading_HT|leading_LF|leading_VT|leading_dot|leading_space|leading_tilde|punctuation|trailing_CR|trailing_HT|trailing_LF|trailing_VT|trailing_dot|trailing_space)$|^TestIntegration$/^FsMkdir$/^FsPutFiles$/^(FsDirMove|FsListDirFile2|FsListLevel2|FsListR|FsPurge|FsPurgeRoot)$|^TestIntegration$/^FsMkdir$/^FsPutFiles$/^FromRoot$/^(List|ListEntries)$'" - Finished ERROR in 3m33.055980149s (try 2/5): exit status 1: Failed [TestIntegration/FsMkdir/FsEncoding/trailing_dot TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 TestIntegration/FsMkdir/FsEncoding/URL_encoding TestIntegration/FsMkdir/FsPutFiles/FsListDirFile2 TestIntegration/FsMkdir/FsPutFiles/FsListR TestIntegration/FsMkdir/FsPutFiles/FsListLevel2 TestIntegration/FsMkdir/FsPutFiles/FsPurge TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot TestIntegration/FsMkdir/FsPutFiles/FsDirMove TestIntegration/FsMkdir/FsPutFiles/FromRoot/List TestIntegration/FsMkdir/FsPutFiles/FromRoot/ListEntries]