From 76b5ee825950e65ff732c6061137431bf22ba741 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Mon, 31 Aug 2026 12:36:28 +0100 Subject: [PATCH] filelu: run the chunked upload integration tests Implement SetUploadChunkSizer and SetUploadCutoffer in the tests so fstests can exercise the multipart upload path with small chunk sizes. --- backend/filelu/filelu_internal_test.go | 29 ++++++++++++++++++++++++++ backend/filelu/filelu_test.go | 3 +++ 2 files changed, 32 insertions(+) create mode 100644 backend/filelu/filelu_internal_test.go diff --git a/backend/filelu/filelu_internal_test.go b/backend/filelu/filelu_internal_test.go new file mode 100644 index 000000000..3ebd0899a --- /dev/null +++ b/backend/filelu/filelu_internal_test.go @@ -0,0 +1,29 @@ +package filelu + +import ( + "github.com/rclone/rclone/fs" + "github.com/rclone/rclone/fstest/fstests" +) + +// SetUploadChunkSize changes the configured chunk size, returning the old value. +// +// It is only called by the integration tests while no transfer is in progress. +func (f *Fs) SetUploadChunkSize(cs fs.SizeSuffix) (fs.SizeSuffix, error) { + var old fs.SizeSuffix + old, f.opt.ChunkSize = f.opt.ChunkSize, cs + return old, nil +} + +// SetUploadCutoff changes the configured upload cutoff, returning the old value. +// +// It is only called by the integration tests while no transfer is in progress. +func (f *Fs) SetUploadCutoff(cutoff fs.SizeSuffix) (fs.SizeSuffix, error) { + var old fs.SizeSuffix + old, f.opt.UploadCutoff = f.opt.UploadCutoff, cutoff + return old, nil +} + +var ( + _ fstests.SetUploadChunkSizer = (*Fs)(nil) + _ fstests.SetUploadCutoffer = (*Fs)(nil) +) diff --git a/backend/filelu/filelu_test.go b/backend/filelu/filelu_test.go index 93b364a88..de0302957 100644 --- a/backend/filelu/filelu_test.go +++ b/backend/filelu/filelu_test.go @@ -12,5 +12,8 @@ func TestIntegration(t *testing.T) { RemoteName: "TestFileLu:", NilObject: nil, SkipInvalidUTF8: true, + ChunkedUpload: fstests.ChunkedUploadConfig{ + MinChunkSize: 1, + }, }) }