mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-15 19:42:04 +00:00
[v11.0/forgejo] storage test: reader should not be closed on save (#9031)
Backport of the fixes for #8529 (v11 is currently not affected because minio-client is an older version. Porting the tests should help in preventing future breakages). - #8541: storage test (reader should not get closed) - #8527 #8816: defer uploader.Close (most robust way) - #8166: enable storage tests The test can be run locally: ``` docker run --rm -e MINIO_DOMAIN=minio -e MINIO_ROOT_USER=123456 -e MINIO_ROOT_PASSWORD=12345678 -p 9000:9000 data.forgejo.org/oci/bitnami/minio:2024.8.17 ``` ``` TEST_MINIO_ENDPOINT=localhost:9000 go test -v -run ^TestMinioStorageIterator$ ./modules/storage ``` ### Release notes - [x] I do not want this change to show in the release notes. - [ ] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. Co-authored-by: Earl Warren <contact@earl-warren.org> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9031 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Co-authored-by: oliverpool <git@olivier.pfad.fr> Co-committed-by: oliverpool <git@olivier.pfad.fr>
This commit is contained in:
parent
d21ef060c2
commit
3de4b351a2
5 changed files with 45 additions and 40 deletions
|
@ -389,12 +389,7 @@ func EndUploadBlob(ctx *context.Context) {
|
|||
}
|
||||
return
|
||||
}
|
||||
doClose := true
|
||||
defer func() {
|
||||
if doClose {
|
||||
uploader.Close()
|
||||
}
|
||||
}()
|
||||
defer uploader.Close()
|
||||
|
||||
if ctx.Req.Body != nil {
|
||||
if err := uploader.Append(ctx, ctx.Req.Body); err != nil {
|
||||
|
@ -427,12 +422,6 @@ func EndUploadBlob(ctx *context.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
if err := uploader.Close(); err != nil {
|
||||
apiError(ctx, http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
doClose = false
|
||||
|
||||
if err := container_service.RemoveBlobUploadByID(ctx, uploader.ID); err != nil {
|
||||
apiError(ctx, http.StatusInternalServerError, err)
|
||||
return
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue