Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3f1f23e

Browse files
committed
Add testutil.TempDir for common handling of cleanup on Windows
1 parent bac6d66 commit 3f1f23e

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

cli/server_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,7 +1134,7 @@ func TestServer(t *testing.T) {
11341134

11351135
random, err := cryptorand.String(5)
11361136
require.NoError(t, err)
1137-
tmpdir := t.TempDir()
1137+
tmpdir := testutil.TempDir(t)
11381138
fiName := fmt.Sprint(tmpdir, "/coder-logging-test-", random)
11391139

11401140
root, _ := clitest.New(t,
@@ -1163,7 +1163,7 @@ func TestServer(t *testing.T) {
11631163
ctx, cancelFunc := context.WithCancel(context.Background())
11641164
defer cancelFunc()
11651165

1166-
tmpdir := t.TempDir()
1166+
tmpdir := testutil.TempDir(t)
11671167
fi, err := os.CreateTemp(tmpdir, "coder-logging-test-*")
11681168
require.NoError(t, err)
11691169

@@ -1193,7 +1193,7 @@ func TestServer(t *testing.T) {
11931193
ctx, cancelFunc := context.WithCancel(context.Background())
11941194
defer cancelFunc()
11951195

1196-
tmpdir := t.TempDir()
1196+
tmpdir := testutil.TempDir(t)
11971197
fi, err := os.CreateTemp(tmpdir, "coder-logging-test-*")
11981198
require.NoError(t, err)
11991199

@@ -1223,7 +1223,7 @@ func TestServer(t *testing.T) {
12231223
ctx, cancelFunc := context.WithCancel(context.Background())
12241224
defer cancelFunc()
12251225

1226-
tmpdir := t.TempDir()
1226+
tmpdir := testutil.TempDir(t)
12271227
fi, err := os.CreateTemp(tmpdir, "coder-logging-test-*")
12281228
require.NoError(t, err)
12291229

@@ -1266,7 +1266,7 @@ func TestServer(t *testing.T) {
12661266
ctx, cancelFunc := context.WithCancel(context.Background())
12671267
defer cancelFunc()
12681268

1269-
tmpdir := t.TempDir()
1269+
tmpdir := testutil.TempDir(t)
12701270
fi1, err := os.CreateTemp(tmpdir, "coder-logging-test-*")
12711271
require.NoError(t, err)
12721272
fi2, err := os.CreateTemp(tmpdir, "coder-logging-test-*")

testutil/temp.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package testutil
2+
3+
import (
4+
"os"
5+
"runtime"
6+
"testing"
7+
)
8+
9+
func TempDir(t *testing.T) string {
10+
t.Helper()
11+
dir := t.TempDir()
12+
t.Cleanup(func() {
13+
if runtime.GOOS == "windows" {
14+
tries := 50
15+
var err error
16+
for i := 0; i < tries; i++ {
17+
err = os.RemoveAll(dir)
18+
if err == nil {
19+
return
20+
}
21+
}
22+
// Note that even though we're giving up here, t.TempDir
23+
// cleanup _could_ still succeed (or fail the test).
24+
t.Logf("TempDir: delete %q: giving up after %d tries: %v", dir, tries, err)
25+
}
26+
})
27+
return dir
28+
}

0 commit comments

Comments
 (0)