diff options
author | 2022-12-21 11:17:43 +0100 | |
---|---|---|
committer | 2022-12-21 11:17:43 +0100 | |
commit | 6ebdc306edd9b1ee0d853bdad63c0fb418382eb7 (patch) | |
tree | e2e2e5262af41cbeea7dd716e9cdc53092078200 /internal/processing/media/getfile_test.go | |
parent | [chore] note broken go v1.19.4 in contributing.md (#1278) (diff) | |
download | gotosocial-6ebdc306edd9b1ee0d853bdad63c0fb418382eb7.tar.xz |
[bugfix] Close reader gracefully when streaming recache of remote media to fileserver api caller (#1281)
* close pipereader on failed data function
* gently slurp the bytes
* readability updates
* go fmt
* tidy up file server tests + add more cases
* start moving io wrappers to separate iotools package. Remove use of buffering while piping recache stream
Signed-off-by: kim <grufwub@gmail.com>
* add license text
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/processing/media/getfile_test.go')
-rw-r--r-- | internal/processing/media/getfile_test.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/internal/processing/media/getfile_test.go b/internal/processing/media/getfile_test.go index ba7269535..7b9786914 100644 --- a/internal/processing/media/getfile_test.go +++ b/internal/processing/media/getfile_test.go @@ -19,6 +19,7 @@ package media_test import ( + "bytes" "context" "io" "path" @@ -143,9 +144,13 @@ func (suite *GetFileTestSuite) TestGetRemoteFileUncachedInterrupted() { suite.NotNil(content) // only read the first kilobyte and then stop - b := make([]byte, 1024) - _, err = content.Content.Read(b) - suite.NoError(err) + b := make([]byte, 0, 1024) + if !testrig.WaitFor(func() bool { + read, err := io.CopyN(bytes.NewBuffer(b), content.Content, 1024) + return err == nil && read == 1024 + }) { + suite.FailNow("timed out trying to read first 1024 bytes") + } // close the reader suite.NoError(content.Content.Close()) |