As we reevaluate how to best support and maintain Staging Ref in the future, we encourage development teams using this environment to highlight their use cases in the following issue: https://gitlab.com/gitlab-com/gl-infra/software-delivery/framework/software-delivery-framework-issue-tracker/-/issues/36.

Skip to content
Snippets Groups Projects
Commit 0a03b199 authored by Igor Drozdov's avatar Igor Drozdov
Browse files

Merge branch '696-replace-os-mkdirtemp-usages-by-t-tempdir-1' into 'main'

Resolve "Replace os.MkdirTemp() usages with t.TempDir()" (part 1)

See merge request https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/909



Merged-by: default avatarIgor Drozdov <idrozdov@gitlab.com>
Reviewed-by: default avatarAsh McKenzie <amckenzie@gitlab.com>
Co-authored-by: default avatarAsh McKenzie <amckenzie@gitlab.com>
parents 74bd7c60 0dbe3891
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -84,11 +84,18 @@ func StartGitalyServer(t *testing.T, network string) (string, *TestGitalyServer)
switch network {
case "unix":
tempDir, _ := os.MkdirTemp("", "gitlab-shell-test-api")
gitalySocketPath := path.Join(tempDir, "gitaly.sock")
// We can't use t.TempDir() here because it will create a directory that
// far exceeds the 108 character limit which results in the socket failing
// to be created.
//
// See https://gitlab.com/gitlab-org/gitlab-shell/-/issues/696#note_1664726924
// for more detail.
tempDir, err := os.MkdirTemp("", "gitaly")
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, os.RemoveAll(tempDir)) })
err := os.MkdirAll(filepath.Dir(gitalySocketPath), 0700)
gitalySocketPath := path.Join(tempDir, "gitaly.sock")
err = os.MkdirAll(filepath.Dir(gitalySocketPath), 0700)
require.NoError(t, err)
addr, testServer := doStartTestServer(t, "unix", gitalySocketPath)
Loading
Loading
Loading
Loading
@@ -25,11 +25,18 @@ type TestRequestHandler struct {
func StartSocketHttpServer(t *testing.T, handlers []TestRequestHandler) string {
t.Helper()
tempDir, _ := os.MkdirTemp("", "gitlab-shell-test-api")
t.Cleanup(func() { os.RemoveAll(tempDir) })
// We can't use t.TempDir() here because it will create a directory that
// far exceeds the 108 character limit which results in the socket failing
// to be created.
//
// See https://gitlab.com/gitlab-org/gitlab-shell/-/issues/696#note_1664726924
// for more detail.
tempDir, err := os.MkdirTemp("", "http")
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, os.RemoveAll(tempDir)) })
testSocket := path.Join(tempDir, "internal.sock")
err := os.MkdirAll(filepath.Dir(testSocket), 0700)
err = os.MkdirAll(filepath.Dir(testSocket), 0700)
require.NoError(t, err)
socketListener, err := net.Listen("unix", testSocket)
Loading
Loading
Loading
Loading
@@ -262,12 +262,10 @@ func buildClient(t *testing.T, addr string, hostKey ed25519.PublicKey) *ssh.Clie
func configureSSHD(t *testing.T, apiServer string) (string, ed25519.PublicKey) {
t.Helper()
dir, err := os.MkdirTemp("", "gitlab-sshd-acceptance-test-")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(dir) })
tempDir := t.TempDir()
configFile := filepath.Join(dir, "config.yml")
hostKeyFile := filepath.Join(dir, "hostkey")
configFile := filepath.Join(tempDir, "config.yml")
hostKeyFile := filepath.Join(tempDir, "hostkey")
pub, priv, err := ed25519.GenerateKey(nil)
require.NoError(t, err)
Loading
Loading
@@ -279,7 +277,7 @@ func configureSSHD(t *testing.T, apiServer string) (string, ed25519.PublicKey) {
hostKeyData := pem.EncodeToMemory(block)
require.NoError(t, os.WriteFile(hostKeyFile, hostKeyData, 0400))
return dir, pub
return tempDir, pub
}
func startSSHD(t *testing.T, dir string) string {
Loading
Loading
Loading
Loading
@@ -12,12 +12,10 @@ import (
)
func TestConfigure(t *testing.T) {
tmpFile, err := os.CreateTemp(os.TempDir(), "logtest-")
require.NoError(t, err)
defer tmpFile.Close()
tmpFile := createTempFile(t)
config := config.Config{
LogFile: tmpFile.Name(),
LogFile: tmpFile,
LogFormat: "json",
}
Loading
Loading
@@ -27,9 +25,7 @@ func TestConfigure(t *testing.T) {
log.Info("this is a test")
log.WithFields(log.Fields{}).Debug("debug log message")
tmpFile.Close()
data, err := os.ReadFile(tmpFile.Name())
data, err := os.ReadFile(tmpFile)
dataStr := string(data)
require.NoError(t, err)
require.Contains(t, dataStr, `"msg":"this is a test"`)
Loading
Loading
@@ -38,12 +34,10 @@ func TestConfigure(t *testing.T) {
}
func TestConfigureWithDebugLogLevel(t *testing.T) {
tmpFile, err := os.CreateTemp(os.TempDir(), "logtest-")
require.NoError(t, err)
defer tmpFile.Close()
tmpFile := createTempFile(t)
config := config.Config{
LogFile: tmpFile.Name(),
LogFile: tmpFile,
LogFormat: "json",
LogLevel: "debug",
}
Loading
Loading
@@ -53,20 +47,16 @@ func TestConfigureWithDebugLogLevel(t *testing.T) {
log.WithFields(log.Fields{}).Debug("debug log message")
tmpFile.Close()
data, err := os.ReadFile(tmpFile.Name())
data, err := os.ReadFile(tmpFile)
require.NoError(t, err)
require.Contains(t, string(data), `msg":"debug log message"`)
}
func TestConfigureWithPermissionError(t *testing.T) {
tmpPath, err := os.MkdirTemp(os.TempDir(), "logtest-")
require.NoError(t, err)
defer os.RemoveAll(tmpPath)
tempDir := t.TempDir()
config := config.Config{
LogFile: tmpPath,
LogFile: tempDir,
LogFormat: "json",
}
Loading
Loading
@@ -77,13 +67,10 @@ func TestConfigureWithPermissionError(t *testing.T) {
}
func TestLogInUTC(t *testing.T) {
tmpFile, err := os.CreateTemp(os.TempDir(), "logtest-")
require.NoError(t, err)
defer tmpFile.Close()
defer os.Remove(tmpFile.Name())
tmpFile := createTempFile(t)
config := config.Config{
LogFile: tmpFile.Name(),
LogFile: tmpFile,
LogFormat: "json",
}
Loading
Loading
@@ -92,7 +79,7 @@ func TestLogInUTC(t *testing.T) {
log.Info("this is a test")
data, err := os.ReadFile(tmpFile.Name())
data, err := os.ReadFile(tmpFile)
require.NoError(t, err)
utc := `[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z`
Loading
Loading
@@ -101,3 +88,13 @@ func TestLogInUTC(t *testing.T) {
require.NoError(t, e)
require.True(t, r)
}
func createTempFile(t *testing.T) string {
t.Helper()
tmpFile, err := os.CreateTemp(t.TempDir(), "logtest-")
require.NoError(t, err)
tmpFile.Close()
return tmpFile.Name()
}
Loading
Loading
@@ -34,7 +34,7 @@ func PrepareTestRootDir(t *testing.T) {
require.NoError(t, os.MkdirAll(TestRoot, 0700))
t.Cleanup(func() { os.RemoveAll(TestRoot) })
t.Cleanup(func() { require.NoError(t, os.RemoveAll(TestRoot)) })
require.NoError(t, copyTestData())
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment