diff --git a/okhttp-testing-support/src/main/kotlin/okhttp3/testing/PlatformRule.kt b/okhttp-testing-support/src/main/kotlin/okhttp3/testing/PlatformRule.kt index 9d027b5ac..22e696d1a 100644 --- a/okhttp-testing-support/src/main/kotlin/okhttp3/testing/PlatformRule.kt +++ b/okhttp-testing-support/src/main/kotlin/okhttp3/testing/PlatformRule.kt @@ -208,6 +208,8 @@ open class PlatformRule @JvmOverloads constructor( fun isBouncyCastle() = getPlatformSystemProperty() == BOUNCYCASTLE_PROPERTY + fun isOpenJsse() = getPlatformSystemProperty() == OPENJSSE_PROPERTY + fun isGraalVMImage() = TestUtil.isGraalVmImage fun hasHttp2Support() = !isJdk8() @@ -240,6 +242,10 @@ open class PlatformRule @JvmOverloads constructor( assumeTrue(getPlatformSystemProperty() == BOUNCYCASTLE_PROPERTY) } + fun assumeOpenJsse() { + assumeTrue(getPlatformSystemProperty() == OPENJSSE_PROPERTY) + } + fun assumeHttp2Support() { assumeTrue(getPlatformSystemProperty() != JDK8_PROPERTY) } @@ -283,6 +289,10 @@ open class PlatformRule @JvmOverloads constructor( assumeTrue(getPlatformSystemProperty() != BOUNCYCASTLE_PROPERTY) } + fun assumeNotOpenJsse() { + assumeTrue(getPlatformSystemProperty() != OPENJSSE_PROPERTY) + } + fun assumeNotHttp2Support() { assumeTrue(getPlatformSystemProperty() == JDK8_PROPERTY) } diff --git a/okhttp/src/test/java/okhttp3/CallHandshakeTest.kt b/okhttp/src/test/java/okhttp3/CallHandshakeTest.kt index 87cbd813b..8818d57a4 100644 --- a/okhttp/src/test/java/okhttp3/CallHandshakeTest.kt +++ b/okhttp/src/test/java/okhttp3/CallHandshakeTest.kt @@ -129,8 +129,10 @@ class CallHandshakeTest { @Test fun testDefaultHandshakeCipherSuiteOrderingTls13Modern() { - // Requires modern JVM - platform.expectFailureOnJdkVersion(8) + if (!platform.isOpenJsse()) { + // Requires modern JVM + platform.expectFailureOnJdkVersion(8) + } val client = makeClient(ConnectionSpec.MODERN_TLS, TlsVersion.TLS_1_3) diff --git a/okhttp/src/test/java/okhttp3/SessionReuseTest.kt b/okhttp/src/test/java/okhttp3/SessionReuseTest.kt index 050010318..a29722add 100644 --- a/okhttp/src/test/java/okhttp3/SessionReuseTest.kt +++ b/okhttp/src/test/java/okhttp3/SessionReuseTest.kt @@ -107,8 +107,10 @@ class SessionReuseTest( // Force reuse. This appears flaky (30% of the time) even though sessions are reused. // javax.net.ssl.SSLHandshakeException: No new session is allowed and no existing // session can be resumed - // TODO: raise JDK bug. - if (!platform.isJdk9()) { + // + // Report https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8264944 + // Sessions improvement https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8245576 + if (!platform.isJdk9() && !platform.isOpenJsse() && !platform.isJdk8Alpn()) { reuseSession = true }