8000 Fix unit tests for Windows · coder/coder@1491620 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1491620

Browse files
committed
Fix unit tests for Windows
1 parent 1a12be1 commit 1491620

File tree

3 files changed

+32
-11
lines changed

3 files changed

+32
-11
lines changed

cli/create_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ func TestCreate(t *testing.T) {
162162

163163
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
164164
_ = coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
165-
parameterFile, _ := os.CreateTemp(t.TempDir(), "testParameterFile*.yaml")
165+
tempDir := t.TempDir()
166+
parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
166167
_, _ = parameterFile.WriteString("region: \"bingo\"\nusername: \"boingo\"")
167168
cmd, root := clitest.New(t, "create", "", "--parameter-file", parameterFile.Name())
168169
clitest.SetupConfig(t, client, root)
@@ -187,6 +188,7 @@ func TestCreate(t *testing.T) {
187188
pty.WriteLine(value)
188189
}
189190
<-doneChan
191+
removeTmpDirUntilSuccess(t, tempDir)
190192
})
191193
t.Run("WithParameterFileNotContainingTheValue", func(t *testing.T) {
192194
t.Parallel()
@@ -201,7 +203,8 @@ func TestCreate(t *testing.T) {
201203
})
202204
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
203205
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
204-
parameterFile, _ := os.CreateTemp(t.TempDir(), "testParameterFile*.yaml")
206+
tempDir := t.TempDir()
207+
parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
205208
_, _ = parameterFile.WriteString("zone: \"bananas\"")
206209
cmd, root := clitest.New(t, "create", "my-workspace", "--template", template.Name, "--parameter-file", parameterFile.Name())
207210
clitest.SetupConfig(t, client, root)
@@ -215,6 +218,7 @@ func TestCreate(t *testing.T) {
215218
require.EqualError(t, err, "Parameter value absent in parameter file for \"region\"!")
216219
}()
217220
<-doneChan
221+
removeTmpDirUntilSuccess(t, tempDir)
218222
})
219223
}
220224

cli/parameter_internal_test.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ func TestCreateParameterMapFromFile(t *testing.T) {
1212
t.Parallel()
1313
t.Run("CreateParameterMapFromFile", func(t *testing.T) {
1414
t.Parallel()
15-
parameterFile, _ := os.CreateTemp(t.TempDir(), "testParameterFile*.yaml")
15+
tempDir := t.TempDir()
16+
parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
1617
_, _ = parameterFile.WriteString("region: \"bananas\"\ndisk: \"20\"\n")
1718

1819
parameterMapFromFile, err := createParameterMapFromFile(parameterFile.Name())
@@ -25,7 +26,7 @@ func TestCreateParameterMapFromFile(t *testing.T) {
2526
assert.Equal(t, expectedMap, parameterMapFromFile)
2627
assert.Nil(t, err)
2728

28-
removeTmpDirUntilSuccess(t)
29+
removeTmpDirUntilSuccess(t, tempDir)
2930
})
3031
t.Run("WithEmptyFilename", func(t *testing.T) {
3132
t.Parallel()
@@ -52,23 +53,25 @@ func TestCreateParameterMapFromFile(t *testing.T) {
5253
})
5354
t.Run("WithInvalidYAML", func(t *testing.T) {
5455
t.Parallel()
55-
parameterFile, _ := os.CreateTemp(t.TempDir(), "testParameterFile*.yaml")
56+
tempDir := t.TempDir()
57+
parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
5658
_, _ = parameterFile.WriteString("region = \"bananas\"\ndisk = \"20\"\n")
5759

5860
parameterMapFromFile, err := createParameterMapFromFile(parameterFile.Name())
5961

6062
assert.Nil(t, parameterMapFromFile)
6163
assert.EqualError(t, err, "yaml: unmarshal errors:\n line 1: cannot unmarshal !!str `region ...` into map[string]string")
6264

63-
removeTmpDirUntilSuccess(t)
65+
removeTmpDirUntilSuccess(t, tempDir)
6466
})
6567
}
6668

67-
func removeTmpDirUntilSuccess(t *testing.T) {
69+
func removeTmpDirUntilSuccess(t *testing.T, tempDir string) {
70+
t.Helper()
6871
t.Cleanup(func() {
69-
err := os.RemoveAll(t.TempDir())
72+
err := os.RemoveAll(tempDir)
7073
for err != nil {
71-
err = os.RemoveAll(t.TempDir())
74+
err = os.RemoveAll(tempDir)
7275
}
7376
})
7477
}

cli/templatecreate_test.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ func TestTemplateCreate(t *testing.T) {
9595
Provision: echo.ProvisionComplete,
9696
ProvisionDryRun: echo.ProvisionComplete,
9797
})
98-
parameterFile, _ := os.CreateTemp(t.TempDir(), "testParameterFile*.yaml")
98+
tempDir := t.TempDir()
99+
parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
99100
_, _ = parameterFile.WriteString("region: \"bananas\"")
100101
cmd, root := clitest.New(t, "templates", "create", "my-template", "--directory", source, "--test.provisioner", string(database.ProvisionerTypeEcho), "--parameter-file", parameterFile.Name())
101102
clitest.SetupConfig(t, client, root)
@@ -121,6 +122,7 @@ func TestTemplateCreate(t *testing.T) {
121122
}
122123

123124
require.NoError(t, <-execDone)
125+
removeTmpDirUntilSuccess(t, tempDir)
124126
})
125127

126128
t.Run("WithParameterFileNotContainingTheValue", func(t *testing.T) {
@@ -132,7 +134,8 @@ func TestTemplateCreate(t *testing.T) {
132134
Provision: echo.ProvisionComplete,
133135
ProvisionDryRun: echo.ProvisionComplete,
134136
})
135-
parameterFile, _ := os.CreateTemp(t.TempDir(), "testParameterFile*.yaml")
137+
tempDir := t.TempDir()
138+
parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
136139
_, _ = parameterFile.WriteString("zone: \"bananas\"")
137140
cmd, root := clitest.New(t, "templates", "create", "my-template", "--directory", source, "--test.provisioner", string(database.ProvisionerTypeEcho), "--parameter-file", parameterFile.Name())
138141
clitest.SetupConfig(t, client, root)
@@ -157,6 +160,7 @@ func TestTemplateCreate(t *testing.T) {
157160
}
158161

159162
require.EqualError(t, <-execDone, "Parameter value absent in parameter file for \"region\"!")
163+
removeTmpDirUntilSuccess(t, tempDir)
160164
})
161165
}
162166

@@ -176,3 +180,13 @@ func createTestParseResponse() []*proto.Parse_Response {
176180
},
177181
}}
178182
}
183+
184+
func removeTmpDirUntilSuccess(t *testing.T, tempDir string) {
185+
t.Helper()
186+
t.Cleanup(func() {
187+
err := os.RemoveAll(tempDir)
188+
for err != nil {
189+
err = os.RemoveAll(tempDir)
190+
}
191+
})
192+
}

0 commit comments

Comments
 (0)
0