aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Baxter <pablobaxter@msn.com>2023-12-11 17:36:16 -0800
committerGitHub <noreply@github.com>2023-12-11 20:36:16 -0500
commit3caa2867114732227f358edcd79239793a36e2e0 (patch)
tree36561802a0d1d55bb716d3b1cac2ba16f3282e93
parent0bbdac899f2c96993ed5706f47c2d6b8ce44c55c (diff)
downloadokio-3caa2867114732227f358edcd79239793a36e2e0.tar.gz
Test for listRecursively causing delete to fail (#1361)
-rw-r--r--okio/src/jvmTest/kotlin/okio/FileLeakTest.kt20
1 files changed, 17 insertions, 3 deletions
diff --git a/okio/src/jvmTest/kotlin/okio/FileLeakTest.kt b/okio/src/jvmTest/kotlin/okio/FileLeakTest.kt
index 0a6eee7a..5fd18a6b 100644
--- a/okio/src/jvmTest/kotlin/okio/FileLeakTest.kt
+++ b/okio/src/jvmTest/kotlin/okio/FileLeakTest.kt
@@ -31,6 +31,8 @@ class FileLeakTest {
private lateinit var fakeFileSystem: FakeFileSystem
private val fakeZip = "/test.zip".toPath()
private val fakeEntry = "some.file".toPath()
+ private val fakeDirectory = "/another/".toPath()
+ private val fakeEntry2 = fakeDirectory / "another.file"
@Before
fun setup() {
@@ -41,6 +43,14 @@ class FileLeakTest {
putEntry(fakeEntry.name) {
writeUtf8("FooBar")
}
+ try {
+ putNextEntry(ZipEntry(fakeDirectory.name).apply { time = 0L })
+ } finally {
+ closeEntry()
+ }
+ putEntry(fakeEntry2.toString()) {
+ writeUtf8("SomethingElse")
+ }
}
}
}
@@ -55,14 +65,12 @@ class FileLeakTest {
fun zipFileSystemExistsTest() {
val zipFileSystem = fakeFileSystem.openZip(fakeZip)
assertTrue(zipFileSystem.exists(fakeEntry))
- fakeFileSystem.checkNoOpenFiles()
}
@Test
fun zipFileSystemMetadataTest() {
val zipFileSystem = fakeFileSystem.openZip(fakeZip)
assertNotNull(zipFileSystem.metadataOrNull(fakeEntry))
- fakeFileSystem.checkNoOpenFiles()
}
@Test
@@ -71,7 +79,13 @@ class FileLeakTest {
zipFileSystem.source(fakeEntry).use { source ->
assertEquals("FooBar", source.buffer().readUtf8())
}
- fakeFileSystem.checkNoOpenFiles()
+ }
+
+ @Test
+ fun zipFileSystemListRecursiveTest() {
+ val zipFileSystem = fakeFileSystem.openZip(fakeZip)
+ zipFileSystem.listRecursively("/".toPath()).toList()
+ fakeFileSystem.delete(fakeZip)
}
}