1
0
mirror of https://github.com/square/okhttp.git synced 2026-01-12 10:23:16 +03:00

Fix CacheTest on Windows (#9248)

cache.directory.path.toPath() fights the emulateUnix.

Also avoid 10s delays on failure.

Came from flake process, with AI. But all actual fix from me.
This commit is contained in:
Yuri Schimke
2026-01-10 18:42:15 +00:00
committed by GitHub
parent 8b44ff2caa
commit 8040d35c95

View File

@@ -3170,6 +3170,7 @@ class CacheTest {
.code(HttpURLConnection.HTTP_NOT_MODIFIED)
.build(),
)
addFinalFailingResponse()
val url = server.url("/")
val urlKey = key(url)
val entryMetadata =
@@ -3205,7 +3206,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
writeFile(cache.directoryPath, "$urlKey.0", entryMetadata)
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
writeFile(cache.directoryPath, "journal", journalBody)
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
client =
client
.newBuilder()
@@ -3220,6 +3221,8 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
/** Exercise the cache format in OkHttp 2.7 and all earlier releases. */
@Test
fun testGoldenCacheHttpsResponseOkHttp27() {
addFinalFailingResponse()
val url = server.url("/")
val urlKey = key(url)
val prefix = get().getPrefix()
@@ -3255,7 +3258,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
writeFile(cache.directoryPath, "journal", journalBody)
cache.close()
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
client =
client
.newBuilder()
@@ -3269,6 +3272,8 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
/** The TLS version is present in OkHttp 3.0 and beyond. */
@Test
fun testGoldenCacheHttpsResponseOkHttp30() {
addFinalFailingResponse()
val url = server.url("/")
val urlKey = key(url)
val prefix = get().getPrefix()
@@ -3309,7 +3314,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
writeFile(cache.directoryPath, "journal", journalBody)
cache.close()
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
client =
client
.newBuilder()
@@ -3322,6 +3327,8 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
@Test
fun testGoldenCacheHttpResponseOkHttp30() {
addFinalFailingResponse()
val url = server.url("/")
val urlKey = key(url)
val prefix = get().getPrefix()
@@ -3355,7 +3362,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
writeFile(cache.directoryPath, "journal", journalBody)
cache.close()
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
client =
client
.newBuilder()
@@ -3366,6 +3373,12 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
assertThat(response.header("Content-Length")).isEqualTo("3")
}
private fun addFinalFailingResponse() {
// Should not get to this response, so fail if so.
// Avoids timeout on error
server.enqueue(MockResponse(code = 420, body = "Enhance Your Calm"))
}
@Test
fun evictAll() {
server.enqueue(
@@ -3823,7 +3836,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
file: String,
content: String,
) {
val sink = fileSystem.sink(directory.div(file)).buffer()
val sink = fileSystem.sink(directory / file).buffer()
sink.writeUtf8(content)
sink.close()
}