summaryrefslogtreecommitdiff
path: root/workhorse/internal/git/upload-pack_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'workhorse/internal/git/upload-pack_test.go')
-rw-r--r--workhorse/internal/git/upload-pack_test.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/workhorse/internal/git/upload-pack_test.go b/workhorse/internal/git/upload-pack_test.go
index ebefe360122..211f68a2608 100644
--- a/workhorse/internal/git/upload-pack_test.go
+++ b/workhorse/internal/git/upload-pack_test.go
@@ -45,14 +45,13 @@ func TestUploadPackTimesOut(t *testing.T) {
uploadPackTimeout = time.Millisecond
defer func() { uploadPackTimeout = originalUploadPackTimeout }()
- addr, cleanUp := startSmartHTTPServer(t, &smartHTTPServiceServer{
+ addr := startSmartHTTPServer(t, &smartHTTPServiceServer{
PostUploadPackFunc: func(stream gitalypb.SmartHTTPService_PostUploadPackServer) error {
_, err := stream.Recv() // trigger a read on the client request body
require.NoError(t, err)
return nil
},
})
- defer cleanUp()
body := &fakeReader{n: 0, err: nil}
@@ -64,7 +63,9 @@ func TestUploadPackTimesOut(t *testing.T) {
require.EqualError(t, err, "smarthttp.UploadPack: busyReader: context deadline exceeded")
}
-func startSmartHTTPServer(t testing.TB, s gitalypb.SmartHTTPServiceServer) (string, func()) {
+func startSmartHTTPServer(t testing.TB, s gitalypb.SmartHTTPServiceServer) string {
+ t.Helper()
+
tmp, err := ioutil.TempDir("", "")
require.NoError(t, err)
@@ -78,8 +79,10 @@ func startSmartHTTPServer(t testing.TB, s gitalypb.SmartHTTPServiceServer) (stri
require.NoError(t, srv.Serve(ln))
}()
- return fmt.Sprintf("%s://%s", ln.Addr().Network(), ln.Addr().String()), func() {
+ t.Cleanup(func() {
srv.GracefulStop()
require.NoError(t, os.RemoveAll(tmp), "error removing temp dir %q", tmp)
- }
+ })
+
+ return fmt.Sprintf("%s://%s", ln.Addr().Network(), ln.Addr().String())
}