Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitlab/exploration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,17 @@ exploration-tests-line-jackson-databind:
PROJECT: jackson-databind
script:
- ./run-exploration-tests.sh "line" "$PROJECT" "./mvnw verify" "include_${PROJECT}.txt" "exclude_line_$PROJECT.txt"

exploration-tests-method-okhttp:
needs: [ build ]
dependencies:
- build
<<: *common-exploration-tests

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Gate the OkHttp job on the image that contains it

In merge-request pipelines that touch dd-java-agent/agent-debugger, this new job inherits the common changes rule and runs automatically, but the only step that creates /exploration-tests/okhttp is in Dockerfile.exploration-tests and build-exploration-tests-image is still when: manual with no needs edge. The first automatic run of this change will therefore use the already-published $EXPLORATION_TESTS_IMAGE without an OkHttp checkout, causing run-exploration-tests.sh to fail at cd $PROJECT; keep the job manual until the image is published or wire it to an image built in the same pipeline.

Useful? React with 👍 / 👎.

variables:
PROJECT: okhttp
KUBERNETES_MEMORY_REQUEST: 8Gi
KUBERNETES_MEMORY_LIMIT: 8Gi
script:
- sdk use java 17.0.10-tem
- java -XshowSettings:system -version
- ./run-exploration-tests.sh "method" "$PROJECT" "GRADLE_OPTS=-XX:ActiveProcessorCount=4 ./gradlew --max-workers 4 jvmTest -Dtest.java.version=11" "include_${PROJECT}.txt" "exclude_$PROJECT.txt"
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ COPY .sdkmanrc .
RUN curl -s "https://get.sdkman.io" | bash
RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && \
sdk env install && \
sdk install java 17.0.10-tem && \
sdk flush"

RUN mkdir exploration-tests
Expand All @@ -30,7 +31,7 @@ RUN cd jackson-core && git apply /exploration-tests/jackson-core_exploration-tes
RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && cd jackson-core && mvn verify -DskipTests=true"
RUN git clone -b 2.16 https://github.com/FasterXML/jackson-databind.git
COPY jackson-databind_exploration-tests.patch .
# fix tests that are failing because too deep recrursion
# fix tests that are failing because too deep recursion
RUN cd jackson-databind && git apply /exploration-tests/jackson-databind_exploration-tests.patch
RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && cd jackson-databind && mvn verify -DskipTests=true"

Expand All @@ -42,3 +43,8 @@ RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && cd jackson-databind && m
#RUN git clone https://github.com/google/guava.git
#RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && cd guava && mvn -B -P!standard-with-extra-repos verify -U -Dmaven.javadoc.skip=true -DskipTests=true"

# okhttp
RUN git clone -b okhttp_5.3.x https://github.com/square/okhttp.git
COPY okhttp_exploration-tests.patch .
RUN cd okhttp && git apply /exploration-tests/okhttp_exploration-tests.patch
RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && sdk use java 17.0.10-tem && cd okhttp && ./gradlew dependencies"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Install an Android SDK before configuring OkHttp

The image now configures the cloned OkHttp Gradle build, but this Debian image only installs JDKs/Maven and never provides ANDROID_HOME or local.properties. OkHttp's okhttp module applies the Android library plugin with compileSdk = 35, so project configuration for ./gradlew dependencies/jvmTest requires a valid Android SDK and fails with the usual SDK-location error; install an SDK in the image or disable the Android target before invoking Gradle.

Useful? React with 👍 / 👎.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
okhttp3/*
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
diff --git a/okhttp/src/jvmTest/kotlin/okhttp3/FastFallbackTest.kt b/okhttp/src/jvmTest/kotlin/okhttp3/FastFallbackTest.kt
index e50aa9820..f36561b03 100644
--- a/okhttp/src/jvmTest/kotlin/okhttp3/FastFallbackTest.kt
+++ b/okhttp/src/jvmTest/kotlin/okhttp3/FastFallbackTest.kt
@@ -38,6 +38,7 @@ import okhttp3.internal.http2.ErrorCode
import okhttp3.testing.Flaky
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Timeout
import org.junit.jupiter.api.extension.RegisterExtension
@@ -55,6 +56,7 @@ import org.opentest4j.TestAbortedException
* This test only runs on host machines that have both IPv4 and IPv6 addresses for localhost.
*/
@Timeout(30)
+@Disabled
class FastFallbackTest {
@RegisterExtension
val clientTestRule = OkHttpClientTestRule()
diff --git a/okhttp/src/jvmTest/kotlin/okhttp3/InterceptorTest.kt b/okhttp/src/jvmTest/kotlin/okhttp3/InterceptorTest.kt
index 22f1ceaf5..3df72113b 100644
--- a/okhttp/src/jvmTest/kotlin/okhttp3/InterceptorTest.kt
+++ b/okhttp/src/jvmTest/kotlin/okhttp3/InterceptorTest.kt
@@ -50,6 +50,7 @@ import okio.GzipSink
import okio.Sink
import okio.Source
import okio.buffer
+import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -608,11 +609,13 @@ class InterceptorTest {
)
}

+ @Disabled
@Test
fun applicationInterceptorThrowsRuntimeExceptionAsynchronous() {
interceptorThrowsRuntimeExceptionAsynchronous(false)
}

+ @Disabled
@Test
fun networkInterceptorThrowsRuntimeExceptionAsynchronous() {
interceptorThrowsRuntimeExceptionAsynchronous(true)
diff --git a/okhttp/src/jvmTest/kotlin/okhttp3/internal/tls/ClientAuthTest.kt b/okhttp/src/jvmTest/kotlin/okhttp3/internal/tls/ClientAuthTest.kt
index d78fd43e1..5a3429050 100644
--- a/okhttp/src/jvmTest/kotlin/okhttp3/internal/tls/ClientAuthTest.kt
+++ b/okhttp/src/jvmTest/kotlin/okhttp3/internal/tls/ClientAuthTest.kt
@@ -57,6 +57,7 @@ import okhttp3.tls.HeldCertificate
import okhttp3.tls.internal.TlsUtil.newKeyManager
import okhttp3.tls.internal.TlsUtil.newTrustManager
import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -310,6 +311,7 @@ class ClientAuthTest {
}
}

+ @Disabled
@Test
fun invalidClientAuthEvents() {
server.enqueue(
diff --git a/okhttp/src/jvmTest/kotlin/okhttp3/internal/ws/WebSocketReaderTest.kt b/okhttp/src/jvmTest/kotlin/okhttp3/internal/ws/WebSocketReaderTest.kt
index d3f264333..22d709282 100644
--- a/okhttp/src/jvmTest/kotlin/okhttp3/internal/ws/WebSocketReaderTest.kt
+++ b/okhttp/src/jvmTest/kotlin/okhttp3/internal/ws/WebSocketReaderTest.kt
@@ -32,6 +32,7 @@ import okio.ByteString.Companion.decodeHex
import okio.ByteString.Companion.encodeUtf8
import okio.ByteString.Companion.toByteString
import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test

class WebSocketReaderTest {
@@ -431,6 +432,7 @@ class WebSocketReaderTest {
assertThat(count).isEqualTo(1988)
}

+ @Disabled
@Test fun clientWithCompressionCannotBeUsedAfterClose() {
data.write("c107f248cdc9c90700".decodeHex()) // Hello
clientReaderWithCompression.processNextFrame()
Loading