summaryrefslogtreecommitdiff
path: root/internal/processing/media/getfile_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-12-21 11:17:43 +0100
committerLibravatar GitHub <noreply@github.com>2022-12-21 11:17:43 +0100
commit6ebdc306edd9b1ee0d853bdad63c0fb418382eb7 (patch)
treee2e2e5262af41cbeea7dd716e9cdc53092078200 /internal/processing/media/getfile_test.go
parent[chore] note broken go v1.19.4 in contributing.md (#1278) (diff)
downloadgotosocial-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.go11
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())