Skip to content

Commit 8152e7e

Browse files
Fix nondeterministic failure caused by parallel tests.
Tests no longer run in parallel. Fix a test case that mocked a global variable mock but never reset it. One test overrides the `openFile` function to mock a file system call with a version that always errors. There were two issues with this: 1. The test case never reset openFile to use os.OpenFile 2. The tests could run in parallel which would result in another test case calling the mocked version before it could be reset.
1 parent 8455de1 commit 8152e7e

File tree

1 file changed

+5
-31
lines changed

1 file changed

+5
-31
lines changed

apply_test.go

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ func validateUpdate(path string, err error, t *testing.T) {
4949
}
5050

5151
func TestApplySimple(t *testing.T) {
52-
t.Parallel()
53-
5452
fName := "TestApplySimple"
5553
defer cleanup(fName)
5654
writeOldFile(fName, t)
@@ -62,8 +60,6 @@ func TestApplySimple(t *testing.T) {
6260
}
6361

6462
func TestApplyOldSavePath(t *testing.T) {
65-
t.Parallel()
66-
6763
fName := "TestApplyOldSavePath"
6864
defer cleanup(fName)
6965
writeOldFile(fName, t)
@@ -84,8 +80,6 @@ func TestApplyOldSavePath(t *testing.T) {
8480
}
8581

8682
func TestVerifyChecksum(t *testing.T) {
87-
t.Parallel()
88-
8983
fName := "TestVerifyChecksum"
9084
defer cleanup(fName)
9185
writeOldFile(fName, t)
@@ -98,8 +92,6 @@ func TestVerifyChecksum(t *testing.T) {
9892
}
9993

10094
func TestVerifyChecksumNegative(t *testing.T) {
101-
t.Parallel()
102-
10395
fName := "TestVerifyChecksumNegative"
10496
defer cleanup(fName)
10597
writeOldFile(fName, t)
@@ -115,8 +107,6 @@ func TestVerifyChecksumNegative(t *testing.T) {
115107
}
116108

117109
func TestApplyPatch(t *testing.T) {
118-
t.Parallel()
119-
120110
fName := "TestApplyPatch"
121111
defer cleanup(fName)
122112
writeOldFile(fName, t)
@@ -135,8 +125,6 @@ func TestApplyPatch(t *testing.T) {
135125
}
136126

137127
func TestCorruptPatch(t *testing.T) {
138-
t.Parallel()
139-
140128
fName := "TestCorruptPatch"
141129
defer cleanup(fName)
142130
writeOldFile(fName, t)
@@ -152,8 +140,6 @@ func TestCorruptPatch(t *testing.T) {
152140
}
153141

154142
func TestVerifyChecksumPatchNegative(t *testing.T) {
155-
t.Parallel()
156-
157143
fName := "TestVerifyChecksumPatchNegative"
158144
defer cleanup(fName)
159145
writeOldFile(fName, t)
@@ -263,9 +249,7 @@ func sign(parsePrivKey func([]byte) (crypto.Signer, error), privatePEM string, s
263249
}
264250

265251
func TestVerifyECSignature(t *testing.T) {
266-
t.Parallel()
267-
268-
fName := "TestVerifySignature"
252+
fName := "TestVerifyECSignature"
269253
defer cleanup(fName)
270254
writeOldFile(fName, t)
271255

@@ -281,9 +265,7 @@ func TestVerifyECSignature(t *testing.T) {
281265
}
282266

283267
func TestVerifyRSASignature(t *testing.T) {
284-
t.Parallel()
285-
286-
fName := "TestVerifySignature"
268+
fName := "TestVerifyRSASignature"
287269
defer cleanup(fName)
288270
writeOldFile(fName, t)
289271

@@ -302,8 +284,6 @@ func TestVerifyRSASignature(t *testing.T) {
302284
}
303285

304286
func TestVerifyFailBadSignature(t *testing.T) {
305-
t.Parallel()
306-
307287
fName := "TestVerifyFailBadSignature"
308288
defer cleanup(fName)
309289
writeOldFile(fName, t)
@@ -324,8 +304,6 @@ func TestVerifyFailBadSignature(t *testing.T) {
324304
}
325305

326306
func TestVerifyFailNoSignature(t *testing.T) {
327-
t.Parallel()
328-
329307
fName := "TestVerifySignatureWithPEM"
330308
defer cleanup(fName)
331309
writeOldFile(fName, t)
@@ -352,8 +330,6 @@ VBbP/Ff+05HOqwPC7rJMy1VAJLKg7Cw=
352330
`
353331

354332
func TestVerifyFailWrongSignature(t *testing.T) {
355-
t.Parallel()
356-
357333
fName := "TestVerifyFailWrongSignature"
358334
defer cleanup(fName)
359335
writeOldFile(fName, t)
@@ -372,8 +348,6 @@ func TestVerifyFailWrongSignature(t *testing.T) {
372348
}
373349

374350
func TestSignatureButNoPublicKey(t *testing.T) {
375-
t.Parallel()
376-
377351
fName := "TestSignatureButNoPublicKey"
378352
defer cleanup(fName)
379353
writeOldFile(fName, t)
@@ -388,8 +362,6 @@ func TestSignatureButNoPublicKey(t *testing.T) {
388362
}
389363

390364
func TestPublicKeyButNoSignature(t *testing.T) {
391-
t.Parallel()
392-
393365
fName := "TestPublicKeyButNoSignature"
394366
defer cleanup(fName)
395367
writeOldFile(fName, t)
@@ -405,7 +377,6 @@ func TestPublicKeyButNoSignature(t *testing.T) {
405377
}
406378

407379
func TestWriteError(t *testing.T) {
408-
t.Parallel()
409380
fName := "TestWriteError"
410381
defer cleanup(fName)
411382
writeOldFile(fName, t)
@@ -418,6 +389,9 @@ func TestWriteError(t *testing.T) {
418389

419390
return f, err
420391
}
392+
defer func() {
393+
openFile = os.OpenFile
394+
}()
421395

422396
err := Apply(bytes.NewReader(newFile), Options{TargetPath: fName})
423397
if err == nil {

0 commit comments

Comments
 (0)