Skip to content

Commit 73f2b70

Browse files
committed
fix: clean up test directories correctly
1 parent e1e60af commit 73f2b70

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

src/main/kotlin/de/joshuagleitze/test/spek/testfiles/DefaultTestFiles.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ private fun clear(path: Path) = tolerateDoesNotExist(path) {
155155
}
156156

157157
override fun postVisitDirectory(dir: Path, exc: IOException?) =
158-
super.postVisitDirectory(dir, exc).also { if (dir != path) deleteIfEmpty(dir) }
158+
super.postVisitDirectory(dir, exc).also { deleteIfEmpty(dir) }
159159

160160
override fun visitFile(file: Path, attrs: BasicFileAttributes?) =
161161
super.visitFile(file, attrs).also { tolerateDoesNotExist(file) { delete(file) } }

src/test/kotlin/DefaultTestFilesSpec.kt

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ object DefaultTestFilesSpec: Spek({
7575

7676
testFiles.beforeExecuteGroup(mockGroup)
7777

78-
expect(scopeDir).isDirectory()
7978
expect(testDir).existsNot()
8079
expect(subTestFile).existsNot()
8180
expect(testFile).existsNot()
@@ -93,7 +92,6 @@ object DefaultTestFilesSpec: Spek({
9392

9493
testFiles.beforeExecuteTest(mockTest)
9594

96-
expect(scopeDir).isDirectory()
9795
expect(testDir).existsNot()
9896
expect(subTestFile).existsNot()
9997
expect(testFile).existsNot()
@@ -315,47 +313,66 @@ object DefaultTestFilesSpec: Spek({
315313

316314
testFiles.beforeExecuteTest(mockTest)
317315
val successTestfile = testFiles.createFile(delete = ALWAYS)
316+
val successTestdir = testFiles.createDirectory(delete = ALWAYS)
318317
expect(successTestfile).exists()
318+
expect(successTestdir).exists()
319319
testFiles.afterExecuteTest(mockTest, Success)
320320
expect(successTestfile).existsNot()
321+
expect(successTestdir).existsNot()
321322

322323
testFiles.beforeExecuteTest(mockTest)
323324
val failureTestfile = testFiles.createFile(delete = ALWAYS)
325+
val failureTestdir = testFiles.createDirectory(delete = ALWAYS)
324326
expect(failureTestfile).exists()
327+
expect(failureTestdir).exists()
325328
testFiles.afterExecuteTest(mockTest, Failure(IllegalStateException()))
326329
expect(failureTestfile).existsNot()
330+
expect(failureTestdir).existsNot()
327331
}
328332

329333
it("deletes a file that has been marked to be deleted after success if appropriate") {
330334
val mockTest = mockScope<TestScopeImpl>("delete IF_SUCCESSFUL")
331335

332336
testFiles.beforeExecuteTest(mockTest)
333337
val successTestfile = testFiles.createFile(delete = IF_SUCCESSFUL)
338+
val successTestdir = testFiles.createDirectory(delete = IF_SUCCESSFUL)
334339
expect(successTestfile).exists()
340+
expect(successTestdir).exists()
335341
testFiles.afterExecuteTest(mockTest, Success)
336342
expect(successTestfile).existsNot()
343+
expect(successTestdir).existsNot()
344+
337345

338346
testFiles.beforeExecuteTest(mockTest)
339347
val failureTestfile = testFiles.createFile(delete = IF_SUCCESSFUL)
348+
val failureTestdir = testFiles.createDirectory(delete = IF_SUCCESSFUL)
340349
expect(failureTestfile).exists()
350+
expect(failureTestdir).exists()
341351
testFiles.afterExecuteTest(mockTest, Failure(IllegalStateException()))
342352
expect(failureTestfile).exists()
353+
expect(failureTestdir).exists()
343354
}
344355

345356
it("does not delete a file that has been marked to be deleted NEVER") {
346357
val mockTest = mockScope<TestScopeImpl>("delete NEVER")
347358

348359
testFiles.beforeExecuteTest(mockTest)
349360
val successTestfile = testFiles.createFile(delete = NEVER)
361+
val successTestdir = testFiles.createDirectory(delete = NEVER)
350362
expect(successTestfile).exists()
363+
expect(successTestdir).exists()
351364
testFiles.afterExecuteTest(mockTest, Success)
352365
expect(successTestfile).exists()
366+
expect(successTestdir).exists()
353367

354368
testFiles.beforeExecuteTest(mockTest)
355369
val failureTestfile = testFiles.createFile(delete = NEVER)
370+
val failureTestdir = testFiles.createDirectory(delete = NEVER)
356371
expect(failureTestfile).exists()
372+
expect(failureTestdir).exists()
357373
testFiles.afterExecuteTest(mockTest, Failure(IllegalStateException()))
358374
expect(failureTestfile).exists()
375+
expect(failureTestdir).exists()
359376
}
360377

361378
it("tolerates deletion of created files") {

0 commit comments

Comments
 (0)