From 26b629f42fb813771381a76553064deaee165c8b Mon Sep 17 00:00:00 2001 From: nielash Date: Thu, 4 Sep 2025 02:20:24 -0400 Subject: [PATCH] bisync: fix koofr integration tests Before this change, koofr failed certain bisync tests because it can't set mod time without deleting and re-uploading. This caused the "nothing to transfer" log to not get printed where expected (as it is only printed when there are 0 transfers, but koofr requires extra transfers to set modtime.) This change fixes the issue by ignoring the absence of the "nothing to transfer" log line on backends that return `fs.ErrorCantSetModTimeWithoutDelete` for `obj.SetModTime`. --- cmd/bisync/bisync_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmd/bisync/bisync_test.go b/cmd/bisync/bisync_test.go index c5f1ece97..7f49b2921 100644 --- a/cmd/bisync/bisync_test.go +++ b/cmd/bisync/bisync_test.go @@ -1029,6 +1029,9 @@ func (b *bisyncTest) checkPreReqs(ctx context.Context, opt *bisync.Options) (con if err == fs.ErrorCantSetModTime { b.t.Skip("skipping test as at least one remote does not support setting modtime") } + if err == fs.ErrorCantSetModTimeWithoutDelete { // transfers stats expected to differ on this backend + logReplacements = append(logReplacements, `^.*There was nothing to transfer.*$`, dropMe) + } if !f.Features().IsLocal { time.Sleep(time.Second) // avoid GoogleCloudStorage Error 429 rateLimitExceeded }