Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/testhelper/testhelper.go12
-rw-r--r--internal/testhelper/testserver.go16
2 files changed, 18 insertions, 10 deletions
diff --git a/internal/testhelper/testhelper.go b/internal/testhelper/testhelper.go
index 66aaa7b06..b833d378a 100644
--- a/internal/testhelper/testhelper.go
+++ b/internal/testhelper/testhelper.go
@@ -127,6 +127,14 @@ func MustRunCommand(t testing.TB, stdin io.Reader, name string, args ...string)
return output
}
+// MustClose calls Close() on the Closer and fails the test in case it returns
+// an error. This function is useful when closing via `defer`, as a simple
+// `defer require.NoError(t, closer.Close())` would cause `closer.Close()` to
+// be executed early already.
+func MustClose(t testing.TB, closer io.Closer) {
+ require.NoError(t, closer.Close())
+}
+
// GetTemporaryGitalySocketFileName will return a unique, useable socket file name
func GetTemporaryGitalySocketFileName(t testing.TB) string {
require.NotEmpty(t, testDirectory, "you must call testhelper.Configure() before GetTemporaryGitalySocketFileName()")
@@ -425,7 +433,7 @@ func GenerateTestCerts(t *testing.T) (string, string, Cleanup) {
certFile, err := ioutil.TempFile("", "")
require.NoError(t, err)
- defer certFile.Close()
+ defer MustClose(t, certFile)
// create chained PEM file with CA and entity cert
for _, cert := range [][]byte{entityCert, caCert} {
@@ -439,7 +447,7 @@ func GenerateTestCerts(t *testing.T) (string, string, Cleanup) {
keyFile, err := ioutil.TempFile("", "")
require.NoError(t, err)
- defer keyFile.Close()
+ defer MustClose(t, keyFile)
entityKeyBytes, err := x509.MarshalECPrivateKey(entityKey)
require.NoError(t, err)
diff --git a/internal/testhelper/testserver.go b/internal/testhelper/testserver.go
index d977afce8..85563981f 100644
--- a/internal/testhelper/testserver.go
+++ b/internal/testhelper/testserver.go
@@ -143,11 +143,6 @@ func (p *TestServer) Start(t testing.TB) {
praefectServerSocketPath := GetTemporaryGitalySocketFileName(t)
- configFilePath := filepath.Join(tempDir, "config.toml")
- configFile, err := os.Create(configFilePath)
- require.NoError(t, err)
- defer configFile.Close()
-
c := praefectconfig.Config{
SocketPath: praefectServerSocketPath,
Auth: auth.Config{
@@ -178,8 +173,13 @@ func (p *TestServer) Start(t testing.TB) {
})
}
+ configFilePath := filepath.Join(tempDir, "config.toml")
+ configFile, err := os.Create(configFilePath)
+ require.NoError(t, err)
+ defer MustClose(t, configFile)
+
require.NoError(t, toml.NewEncoder(configFile).Encode(&c))
- require.NoError(t, configFile.Close())
+ require.NoError(t, configFile.Sync())
cmd := exec.Command(praefectBinPath, "-config", configFilePath)
cmd.Stderr = os.Stderr
@@ -202,7 +202,7 @@ func (p *TestServer) Start(t testing.TB) {
conn, err := grpc.Dial("unix://"+praefectServerSocketPath, opts...)
require.NoError(t, err)
- defer conn.Close()
+ defer MustClose(t, conn)
waitHealthy(t, conn, 3, time.Second)
@@ -233,7 +233,7 @@ func (p *TestServer) listen(t testing.TB) string {
conn, err := grpc.Dial("unix://"+socket, opts...)
require.NoError(t, err)
- defer conn.Close()
+ defer MustClose(t, conn)
waitHealthy(t, conn, 3, time.Second)
}