Skip to content

Commit 9979cc0

Browse files
committed
test: support Go 1.22 test helpers
1 parent c73bb4f commit 9979cc0

2 files changed

Lines changed: 37 additions & 5 deletions

File tree

cmd/devcloud/main_test.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
func TestRunInitCreatesWorkspace(t *testing.T) {
12-
t.Chdir(t.TempDir())
12+
chdir(t, t.TempDir())
1313

1414
if _, err := captureStdout(func() error {
1515
return run([]string{"init"})
@@ -30,7 +30,7 @@ func TestRunInitCreatesWorkspace(t *testing.T) {
3030
}
3131

3232
func TestRunDashboardPrintsConfiguredURL(t *testing.T) {
33-
t.Chdir(t.TempDir())
33+
chdir(t, t.TempDir())
3434
if err := os.MkdirAll(".devcloud", 0o755); err != nil {
3535
t.Fatalf("create .devcloud: %v", err)
3636
}
@@ -51,7 +51,7 @@ func TestRunDashboardPrintsConfiguredURL(t *testing.T) {
5151
}
5252

5353
func TestRunResetRecreatesStorage(t *testing.T) {
54-
t.Chdir(t.TempDir())
54+
chdir(t, t.TempDir())
5555

5656
if _, err := captureStdout(func() error {
5757
return run([]string{"init"})
@@ -99,3 +99,19 @@ func captureStdout(fn func() error) (string, error) {
9999
}
100100
return string(data), readErr
101101
}
102+
103+
func chdir(t *testing.T, dir string) {
104+
t.Helper()
105+
original, err := os.Getwd()
106+
if err != nil {
107+
t.Fatalf("get working directory: %v", err)
108+
}
109+
if err := os.Chdir(dir); err != nil {
110+
t.Fatalf("change working directory: %v", err)
111+
}
112+
t.Cleanup(func() {
113+
if err := os.Chdir(original); err != nil {
114+
t.Fatalf("restore working directory: %v", err)
115+
}
116+
})
117+
}

internal/app/config_test.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
)
88

99
func TestInitWorkspaceCreatesDefaultsWithoutOverwritingConfig(t *testing.T) {
10-
t.Chdir(t.TempDir())
10+
chdir(t, t.TempDir())
1111
cfg := DefaultConfig()
1212

1313
if err := InitWorkspace(cfg); err != nil {
@@ -92,7 +92,7 @@ func TestLoadConfigUsesDefaultsWhenConfigIsMissing(t *testing.T) {
9292
}
9393

9494
func TestWorkspaceStoragePathMustStayUnderDevcloud(t *testing.T) {
95-
t.Chdir(t.TempDir())
95+
chdir(t, t.TempDir())
9696
cfg := DefaultConfig()
9797
cfg.Storage.Path = "data"
9898
if err := InitWorkspace(cfg); err == nil {
@@ -147,3 +147,19 @@ func TestLoadConfigIgnoresUnknownKeysAndRejectsInvalidKnownValues(t *testing.T)
147147
t.Fatal("LoadConfig() unbounded maxMessageBytes error = nil")
148148
}
149149
}
150+
151+
func chdir(t *testing.T, dir string) {
152+
t.Helper()
153+
original, err := os.Getwd()
154+
if err != nil {
155+
t.Fatalf("get working directory: %v", err)
156+
}
157+
if err := os.Chdir(dir); err != nil {
158+
t.Fatalf("change working directory: %v", err)
159+
}
160+
t.Cleanup(func() {
161+
if err := os.Chdir(original); err != nil {
162+
t.Fatalf("restore working directory: %v", err)
163+
}
164+
})
165+
}

0 commit comments

Comments
 (0)