"go test -v -timeout 2h0m0s -remote TestDrime: -verbose" - Starting (try 3/5) === RUN TestIntegration fstests.go:438: Using remote "TestDrime:" 2026/03/12 05:45:20 DEBUG : Creating backend with remote "TestDrime:rclone-test-ropujih1tilo" 2026/03/12 05:45:20 DEBUG : Using config file from "/home/rclone/.rclone.conf" === RUN TestIntegration/FsCheckWrap fstests.go:479: Not a wrapping Fs === RUN TestIntegration/FsCommand fstests.go:507: No commands in this remote === RUN TestIntegration/FsRmdirNotFound === RUN TestIntegration/FsString === RUN TestIntegration/FsName === RUN TestIntegration/FsRoot === RUN TestIntegration/FsRmdirEmpty === RUN TestIntegration/FsMkdir === RUN TestIntegration/FsMkdir/FsMkdirRmdirSubdir 2026/03/12 05:45:39 INFO : dir/subdir: Making directory 2026/03/12 05:45:48 INFO : dir/subdir: Removing directory 2026/03/12 05:45:54 INFO : dir: Removing directory === RUN TestIntegration/FsMkdir/FsListEmpty === RUN TestIntegration/FsMkdir/FsListDirEmpty === RUN TestIntegration/FsMkdir/FsListRDirEmpty fstests.go:399: FS has no ListR interface === RUN TestIntegration/FsMkdir/FsListDirNotFound 2026/03/12 05:46:04 ERROR : does not exist: error listing: directory not found === RUN TestIntegration/FsMkdir/FsListRDirNotFound fstests.go:399: FS has no ListR interface === RUN TestIntegration/FsMkdir/FsEncoding === RUN TestIntegration/FsMkdir/FsEncoding/control_chars fstests.go:708: testing "␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␡" === RUN TestIntegration/FsMkdir/FsEncoding/dot fstests.go:708: testing "." === RUN TestIntegration/FsMkdir/FsEncoding/dot_dot fstests.go:708: testing ".." === RUN TestIntegration/FsMkdir/FsEncoding/punctuation fstests.go:708: testing "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" === RUN TestIntegration/FsMkdir/FsEncoding/leading_space fstests.go:708: testing " leading space" === RUN TestIntegration/FsMkdir/FsEncoding/leading_tilde fstests.go:708: testing "~leading tilde" === RUN TestIntegration/FsMkdir/FsEncoding/leading_CR fstests.go:708: testing "␍leading CR" === RUN TestIntegration/FsMkdir/FsEncoding/leading_LF fstests.go:708: testing "␊leading LF" === RUN TestIntegration/FsMkdir/FsEncoding/leading_HT fstests.go:708: testing "␉leading HT" === RUN TestIntegration/FsMkdir/FsEncoding/leading_VT fstests.go:708: testing "␋leading VT" === RUN TestIntegration/FsMkdir/FsEncoding/leading_dot fstests.go:708: testing ".leading dot" === RUN TestIntegration/FsMkdir/FsEncoding/trailing_space fstests.go:708: testing "trailing space " === RUN TestIntegration/FsMkdir/FsEncoding/trailing_CR fstests.go:708: testing "trailing CR␍" === RUN TestIntegration/FsMkdir/FsEncoding/trailing_LF fstests.go:708: testing "trailing LF␊" === RUN TestIntegration/FsMkdir/FsEncoding/trailing_HT fstests.go:708: testing "trailing HT␉" fstests.go:717: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:717 Error: Received unexpected error: directory not empty Test: TestIntegration/FsMkdir/FsEncoding/trailing_HT 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:718 Error: Not equal: expected: []string{} actual : []string{"trailing HT␉"} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsEncoding/trailing_HT Messages: directories === RUN TestIntegration/FsMkdir/FsEncoding/trailing_VT fstests.go:708: testing "trailing VT␋" 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:715 Error: Not equal: expected: []string{"trailing VT␋"} actual : []string{"trailing HT␉", "trailing VT␋"} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) (len=1) { +([]string) (len=2) { + (string) (len=14) "trailing HT␉", (string) (len=14) "trailing VT␋" Test: TestIntegration/FsMkdir/FsEncoding/trailing_VT 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:718 Error: Not equal: expected: []string{} actual : []string{"trailing HT␉"} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsEncoding/trailing_VT Messages: directories === RUN TestIntegration/FsMkdir/FsEncoding/trailing_dot fstests.go:708: testing "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:715 Error: Not equal: expected: []string{"trailing dot."} actual : []string{"trailing HT␉", "trailing dot."} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) (len=1) { +([]string) (len=2) { + (string) (len=14) "trailing HT␉", (string) (len=13) "trailing dot." Test: TestIntegration/FsMkdir/FsEncoding/trailing_dot 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:718 Error: Not equal: expected: []string{} actual : []string{"trailing HT␉"} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsEncoding/trailing_dot Messages: directories === RUN TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 fstests.go:708: testing "invalid utf-8\xfe" 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:715 Error: Not equal: expected: []string{"invalid utf-8\xfe"} actual : []string{"invalid utf-8\xfe", "trailing HT␉"} 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=14) "trailing HT␉" } 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:718 Error: Not equal: expected: []string{} actual : []string{"trailing HT␉"} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsEncoding/invalid_UTF-8 Messages: directories === RUN TestIntegration/FsMkdir/FsEncoding/URL_encoding fstests.go:708: testing "test%46.txt" 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:715 Error: Not equal: expected: []string{"test%46.txt"} actual : []string{"test%46.txt", "trailing HT␉"} 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=14) "trailing HT␉" } 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:718 Error: Not equal: expected: []string{} actual : []string{"trailing HT␉"} Diff: --- Expected +++ Actual @@ -1,2 +1,3 @@ -([]string) { +([]string) (len=1) { + (string) (len=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsEncoding/URL_encoding Messages: directories === RUN TestIntegration/FsMkdir/FsNewObjectNotFound === RUN TestIntegration/FsMkdir/FsPutError === RUN TestIntegration/FsMkdir/FsPutZeroLength === RUN TestIntegration/FsMkdir/FsOpenWriterAt fstests.go:787: FS has no OpenWriterAt interface === RUN TestIntegration/FsMkdir/FsOpenChunkWriter 2026/03/12 05:54:16 NOTICE: drime root 'rclone-test-ropujih1tilo': Streaming uploads using chunk size 5Mi will have maximum file size of 48.828Gi === RUN TestIntegration/FsMkdir/FsChangeNotify fstests.go:869: FS has no ChangeNotify interface === RUN TestIntegration/FsMkdir/FsPutFiles 2026/03/12 05:55:08 DEBUG : file name.txt: Removing old object on successful upload === RUN TestIntegration/FsMkdir/FsPutFiles/FsListDirFile2 fstests.go:979: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:979 /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:999 Error: Not equal: expected: []string{"hello? sausage"} actual : []string{"hello? sausage", "trailing HT␉"} 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=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsPutFiles/FsListDirFile2 === RUN TestIntegration/FsMkdir/FsPutFiles/FsListRDirFile2 fstests.go:399: FS has no ListR interface === RUN TestIntegration/FsMkdir/FsPutFiles/FsListR fstests.go:1016: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1016 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 HT␉"} 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=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsPutFiles/FsListR === RUN TestIntegration/FsMkdir/FsPutFiles/FsListRSubdir === RUN TestIntegration/FsMkdir/FsPutFiles/FsListDirRoot 2026/03/12 05:55:18 DEBUG : Creating backend with remote "TestDrime:" 2026/03/12 05:55:18 DEBUG : Config file has changed externally - reloading === RUN TestIntegration/FsMkdir/FsPutFiles/FsListRDirRoot fstests.go:399: FS has no ListR interface === RUN TestIntegration/FsMkdir/FsPutFiles/FsListSubdir === RUN TestIntegration/FsMkdir/FsPutFiles/FsListRSubdir#01 fstests.go:399: FS has no ListR interface === RUN TestIntegration/FsMkdir/FsPutFiles/FsListLevel2 fstests.go:1095: Error Trace: /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1095 Error: Not equal: expected: []string{"hello? sausage", "hello? sausage/êé"} actual : []string{"hello? sausage", "hello? sausage/êé", "trailing HT␉"} 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=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsPutFiles/FsListLevel2 === RUN TestIntegration/FsMkdir/FsPutFiles/FsListRLevel2 fstests.go:399: FS has no ListR interface === RUN TestIntegration/FsMkdir/FsPutFiles/FsListFile1 === RUN TestIntegration/FsMkdir/FsPutFiles/FsNewObject === RUN TestIntegration/FsMkdir/FsPutFiles/FsNewObjectCaseInsensitive fstests.go:1122: Not Case Insensitive === RUN TestIntegration/FsMkdir/FsPutFiles/FsListFile1and2 === RUN TestIntegration/FsMkdir/FsPutFiles/FsNewObjectDir === RUN TestIntegration/FsMkdir/FsPutFiles/FsPurge 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:1164 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 HT␉"} 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=14) "trailing HT␉" } 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:1176 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 HT␉"} 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=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurge Messages: directories === RUN TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot 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:1201 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 HT␉"} 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=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot Messages: directories 2026/03/12 05:57:00 DEBUG : Creating backend with remote "TestDrime:rclone-test-ropujih1tilo/dirToPurgeFromRoot" 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:1218 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 HT␉"} 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=14) "trailing HT␉" } Test: TestIntegration/FsMkdir/FsPutFiles/FsPurgeRoot Messages: directories === RUN TestIntegration/FsMkdir/FsPutFiles/FsListRootedSubdir 2026/03/12 05:57:33 DEBUG : Creating backend with remote "TestDrime:rclone-test-ropujih1tilo/hello? sausage/êé" === RUN TestIntegration/FsMkdir/FsPutFiles/FsCopy panic: test timed out after 2h0m0s running tests: TestIntegration (2h0m0s) TestIntegration/FsMkdir (1h59m46s) TestIntegration/FsMkdir/FsPutFiles (1h50m40s) TestIntegration/FsMkdir/FsPutFiles/FsCopy (1h47m25s) goroutine 607045 [running]: testing.(*M).startAlarm.func1() /usr/local/go/src/testing/testing.go:2802 +0x34b created by time.goFunc /usr/local/go/src/time/sleep.go:215 +0x2d goroutine 1 [chan receive, 119 minutes]: testing.(*T).Run(0x3795e8c4e248, {0xc7dd85?, 0x3795e895db30?}, 0xcdac28) /usr/local/go/src/testing/testing.go:2109 +0x4e5 testing.runTests.func1(0x3795e8c4e248) /usr/local/go/src/testing/testing.go:2585 +0x37 testing.tRunner(0x3795e8c4e248, 0x3795e895dc58) /usr/local/go/src/testing/testing.go:2036 +0xea testing.runTests({0xc86f01, 0x18}, {0xc96876, 0x26}, 0x3795e8c26ee8, {0x12e9880, 0x1, 0x1}, {0xc264b9a40513ddc8, 0x68c61e6c0a7, ...}) /usr/local/go/src/testing/testing.go:2583 +0x505 testing.(*M).Run(0x3795e8c326e0) /usr/local/go/src/testing/testing.go:2443 +0x6ac main.main() _testmain.go:46 +0x9b goroutine 19 [chan receive, 119 minutes]: testing.(*T).Run(0x3795e8c4e488, {0xc7646c?, 0x3795e8c32820?}, 0x3795e8a440c0) /usr/local/go/src/testing/testing.go:2109 +0x4e5 github.com/rclone/rclone/fstest/fstests.Run(0x3795e8c4e488, 0x3795e8998b60) /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:584 +0x1025 github.com/rclone/rclone/backend/drime.TestIntegration(0x3795e8c4e488) /home/rclone/go/src/github.com/rclone/rclone/backend/drime/drime_test.go:13 +0x59 testing.tRunner(0x3795e8c4e488, 0xcdac28) /usr/local/go/src/testing/testing.go:2036 +0xea created by testing.(*T).Run in goroutine 1 /usr/local/go/src/testing/testing.go:2101 +0x4c5 goroutine 21 [syscall, 119 minutes]: os/signal.signal_recv() /usr/local/go/src/runtime/sigqueue.go:152 +0x98 os/signal.loop() /usr/local/go/src/os/signal/signal_unix.go:23 +0x13 created by os/signal.Notify.func1.1 in goroutine 19 /usr/local/go/src/os/signal/signal.go:152 +0x1f goroutine 22 [chan receive, 119 minutes]: github.com/rclone/rclone/fs/accounting.(*tokenBucket).startSignalHandler.func1() /home/rclone/go/src/github.com/rclone/rclone/fs/accounting/accounting_unix.go:24 +0x27 created by github.com/rclone/rclone/fs/accounting.(*tokenBucket).startSignalHandler in goroutine 19 /home/rclone/go/src/github.com/rclone/rclone/fs/accounting/accounting_unix.go:21 +0xa7 goroutine 57 [select]: github.com/rclone/rclone/fs/accounting.(*StatsInfo).averageLoop(0x3795e8b0cf00, {0xcec8b8, 0x3795e8de40f0}) /home/rclone/go/src/github.com/rclone/rclone/fs/accounting/stats.go:352 +0x145 created by github.com/rclone/rclone/fs/accounting.(*StatsInfo)._startAverageLoop in goroutine 19 /home/rclone/go/src/github.com/rclone/rclone/fs/accounting/stats.go:389 +0x11d goroutine 10 [chan receive, 110 minutes]: testing.(*T).Run(0x3795e8956488, {0xc79858?, 0x0?}, 0x3795e894c240) /usr/local/go/src/testing/testing.go:2109 +0x4e5 github.com/rclone/rclone/fstest/fstests.Run.func13(0x3795e8956488) /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:952 +0xbcf testing.tRunner(0x3795e8956488, 0x3795e8a440c0) /usr/local/go/src/testing/testing.go:2036 +0xea created by testing.(*T).Run in goroutine 19 /usr/local/go/src/testing/testing.go:2101 +0x4c5 goroutine 1443 [chan receive, 107 minutes]: testing.(*T).Run(0x3795e8c4fb08, {0xc75021?, 0x3795e8c4fb08?}, 0x3795e8b34800) /usr/local/go/src/testing/testing.go:2109 +0x4e5 github.com/rclone/rclone/fstest/fstests.Run.func13.14(0x3795e8c4fb08) /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1249 +0xea5 testing.tRunner(0x3795e8c4fb08, 0x3795e894c240) /usr/local/go/src/testing/testing.go:2036 +0xea created by testing.(*T).Run in goroutine 10 /usr/local/go/src/testing/testing.go:2101 +0x4c5 goroutine 2115 [select]: net/http.(*http2ClientConn).roundTrip(0x3795e89e6540, 0x3795e8ddc140, 0x0) /usr/local/go/src/net/http/h2_bundle.go:8688 +0x525 net/http.(*http2ClientConn).RoundTrip(...) /usr/local/go/src/net/http/h2_bundle.go:8603 net/http.(*http2Transport).RoundTripOpt(0x3795e8c32960, 0x3795e8ddc140, {0xe8?, 0x48?}) /usr/local/go/src/net/http/h2_bundle.go:7901 +0x1ed net/http.(*http2Transport).RoundTrip(0x3795e8997380?, 0x3795e8de4050?) /usr/local/go/src/net/http/h2_bundle.go:7852 +0x17 net/http.(*Transport).roundTrip(0x3795e8997380, 0x3795e89e1680) /usr/local/go/src/net/http/transport.go:702 +0xaab net/http.(*Transport).RoundTrip(...) /usr/local/go/src/net/http/roundtrip.go:33 github.com/rclone/rclone/fs/fshttp.(*Transport).RoundTrip(0x3795e89af4a0, 0x3795e89e1680) /home/rclone/go/src/github.com/rclone/rclone/fs/fshttp/http.go:496 +0x34a net/http.send(0x3795e89e1680, {0xce6640, 0x3795e89af4a0}, {0x3795e88c4f80?, 0x4930a6?, 0x0?}) /usr/local/go/src/net/http/client.go:264 +0x64b net/http.(*Client).send(0x3795e8c7fc80, 0x3795e89e1680, {0xbdd601?, 0x3795e88c5008?, 0x0?}) /usr/local/go/src/net/http/client.go:185 +0x258 net/http.(*Client).do(0x3795e8c7fc80, 0x3795e89e1680) /usr/local/go/src/net/http/client.go:733 +0x9d7 net/http.(*Client).Do(...) /usr/local/go/src/net/http/client.go:592 github.com/rclone/rclone/lib/rest.(*Client).Call(0x3795e89cf9a0, {0xcec7d8, 0x1345700}, 0x3795e88c5670) /home/rclone/go/src/github.com/rclone/rclone/lib/rest/rest.go:371 +0xd85 github.com/rclone/rclone/lib/rest.(*Client).callCodec(0x3795e89cf9a0, {0xcec7d8, 0x1345700}, 0x3795e8ad42c0?, {0xb37ec0?, 0x3795e89fcd20?}, {0xb37f00, 0x3795e8e2da00}, 0x3795e88c58e0?, 0xcdad00, ...) /home/rclone/go/src/github.com/rclone/rclone/lib/rest/rest.go:579 +0x447 github.com/rclone/rclone/lib/rest.(*Client).CallJSON(...) /home/rclone/go/src/github.com/rclone/rclone/lib/rest/rest.go:522 github.com/rclone/rclone/backend/drime.(*Fs).patch.func1() /home/rclone/go/src/github.com/rclone/rclone/backend/drime/drime.go:794 +0x8d github.com/rclone/rclone/fs.pacerInvoker(0x1, 0xa, 0x50?) /home/rclone/go/src/github.com/rclone/rclone/fs/pacer.go:86 +0x32 github.com/rclone/rclone/lib/pacer.(*Pacer).call(0x3795e89af500, 0x3795e8de46e0, 0xa) /home/rclone/go/src/github.com/rclone/rclone/lib/pacer/pacer.go:228 +0xd2 github.com/rclone/rclone/lib/pacer.(*Pacer).Call(0x3795e89af500, 0x3795e8de46e0) /home/rclone/go/src/github.com/rclone/rclone/lib/pacer/pacer.go:247 +0x92 github.com/rclone/rclone/backend/drime.(*Fs).patch(0x3795e8c32820, {0xcec7d8, 0x1345700}, {0x3795e89b5337, 0x9}, {0xc7349c, 0x4}, {0x3795e8dde627, 0xa}) /home/rclone/go/src/github.com/rclone/rclone/backend/drime/drime.go:793 +0x3ae github.com/rclone/rclone/backend/drime.(*Fs).rename(0x3795e8c32820, {0xcec7d8, 0x1345700}, {0x3795e89b5337, 0x9}, {0x3795e8dde627, 0xa}) /home/rclone/go/src/github.com/rclone/rclone/backend/drime/drime.go:805 +0x96 github.com/rclone/rclone/backend/drime.(*Fs).copyTo(0x3795e8c32820, {0xcec7d8, 0x1345700}, {0x3795e89b4f10?, 0x55beb7?}, {0xca7b54, 0x5}, {0x3795e8dde627, 0xa}, {0x3795e90100b0, ...}) /home/rclone/go/src/github.com/rclone/rclone/backend/drime/drime.go:990 +0xc8 github.com/rclone/rclone/backend/drime.(*Fs).Copy(0x3795e8c32820, {0xcec7d8, 0x1345700}, {0xcf6250?, 0x3795e8ccf000?}, {0x3795e8dde5f0, 0x41}) /home/rclone/go/src/github.com/rclone/rclone/backend/drime/drime.go:1041 +0x3fb github.com/rclone/rclone/fstest/fstests.Run.func13.14.19(0x3795e8df4008) /home/rclone/go/src/github.com/rclone/rclone/fstest/fstests/fstests.go:1264 +0x1b2 testing.tRunner(0x3795e8df4008, 0x3795e8b34800) /usr/local/go/src/testing/testing.go:2036 +0xea created by testing.(*T).Run in goroutine 1443 /usr/local/go/src/testing/testing.go:2101 +0x4c5 goroutine 606990 [select]: net/http.(*http2clientStream).writeRequest(0x3795e8e52180, 0x3795e8ddc140, 0x0) /usr/local/go/src/net/http/h2_bundle.go:8857 +0xc68 net/http.(*http2clientStream).doRequest(0x3795e8e52180, 0x762ad7?, 0x3795e89e6700?) /usr/local/go/src/net/http/h2_bundle.go:8718 +0x18 created by net/http.(*http2ClientConn).roundTrip in goroutine 2115 /usr/local/go/src/net/http/h2_bundle.go:8624 +0x470 goroutine 606989 [IO wait]: internal/poll.runtime_pollWait(0x7d35864c9c00, 0x72) /usr/local/go/src/runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0x3795e8e0a600?, 0x3795e8e26d80?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0x3795e8e0a600, {0x3795e8e26d80, 0xd80, 0xd80}) /usr/local/go/src/internal/poll/fd_unix.go:165 +0x2ae net.(*netFD).Read(0x3795e8e0a600, {0x3795e8e26d80?, 0x0?, 0x0?}) /usr/local/go/src/net/fd_posix.go:68 +0x25 net.(*conn).Read(0x3795e8982010, {0x3795e8e26d80?, 0x379500010001?, 0x0?}) /usr/local/go/src/net/net.go:196 +0x45 github.com/rclone/rclone/fs/fshttp.(*timeoutConn).Read(0x3795e8bfa0d8, {0x3795e8e26d80?, 0x7d35cd1944c0?, 0x7d35cd18ba00?}) /home/rclone/go/src/github.com/rclone/rclone/fs/fshttp/dialer.go:111 +0x29 crypto/tls.(*atLeastReader).Read(0x3795e88865d0, {0x3795e8e26d80?, 0x3795e8e32b40?, 0x3795e88f3a48?}) /usr/local/go/src/crypto/tls/conn.go:815 +0x3b bytes.(*Buffer).ReadFrom(0x3795e89430a8, {0xce6a00, 0x3795e88865d0}) /usr/local/go/src/bytes/buffer.go:229 +0x98 crypto/tls.(*Conn).readFromUntil(0x3795e8942e08, {0x7d35842dc148, 0x3795e8bfa0d8}, 0x3795e88f3c08?) /usr/local/go/src/crypto/tls/conn.go:837 +0xde crypto/tls.(*Conn).readRecordOrCCS(0x3795e8942e08, 0x0) /usr/local/go/src/crypto/tls/conn.go:626 +0x3db crypto/tls.(*Conn).readRecord(...) /usr/local/go/src/crypto/tls/conn.go:588 crypto/tls.(*Conn).Read(0x3795e8942e08, {0x3795e8ae6000, 0x1000, 0x0?}) /usr/local/go/src/crypto/tls/conn.go:1393 +0x145 bufio.(*Reader).Read(0x3795e8912d20, {0x3795e8e50124, 0x9, 0x4ee1da?}) /usr/local/go/src/bufio/bufio.go:245 +0x197 io.ReadAtLeast({0xce5a60, 0x3795e8912d20}, {0x3795e8e50124, 0x9, 0x9}, 0x9) /usr/local/go/src/io/io.go:335 +0x8e io.ReadFull(...) /usr/local/go/src/io/io.go:354 net/http.http2readFrameHeader({0x3795e8e50124, 0x9, 0x3795e8eccda0?}, {0xce5a60?, 0x3795e8912d20?}) /usr/local/go/src/net/http/h2_bundle.go:1805 +0x65 net/http.(*http2Framer).ReadFrameHeader(0x3795e8e500e0) /usr/local/go/src/net/http/h2_bundle.go:2071 +0x6b net/http.(*http2Framer).ReadFrame(0x3795e8e500e0) /usr/local/go/src/net/http/h2_bundle.go:2130 +0x18 net/http.(*http2clientConnReadLoop).run(0x3795e88f3fa8) /usr/local/go/src/net/http/h2_bundle.go:9550 +0xca net/http.(*http2ClientConn).readLoop(0x3795e89e6540) /usr/local/go/src/net/http/h2_bundle.go:9419 +0x52 created by net/http.(*http2Transport).newClientConn in goroutine 606988 /usr/local/go/src/net/http/h2_bundle.go:8171 +0xda5 exit status 2 FAIL github.com/rclone/rclone/backend/drime 7200.027s "go test -v -timeout 2h0m0s -remote TestDrime: -verbose" - Finished ERROR in 2h0m0.990575063s (try 3/5): exit status 1: Failed []