Openjdk-tests: Expand Quarkus testing

Created on 14 Jan 2020  路  13Comments  路  Source: AdoptOpenJDK/openjdk-tests

Now that we have jdk8 on xlinux (in containers), these tests can be expanded to include jdk11 and out to p & z platforms.

external

Most helpful comment

Looks like flapdoodle-oss/de.flapdoodle.embed.process#109 got merged (including the fix for aarch64 as well)... maybe things are looking up :)

All 13 comments

Once we extend as above, we can add some additional test targets

GH tests: https://github.com/quarkusio/quarkus (already added to extended.external / weekly and now being expanded as detailed above)

Potential new test targets and what level to add them under:

Quickstarts: https://github.com/quarkusio/quarkus-quickstarts (add to sanity.external / nightly)

Apache Camel: https://github.com/apache/camel-quarkus/ - (either extended or special, need investigation)

Workshop tests: https://github.com/quarkusio/quarkus-workshops聽- (either extended or special, need investigation)

As we are going to change the naming convention of the extended.external test jobs to match the rest of the test jobs, I have generated those jobs and added them into https://ci.adoptopenjdk.net/view/New_Test_external_weekly/

Generated the following jobs:
Test_openjdk11_hs_extended.external_ppc64le_linux_quarkus
Test_openjdk11_hs_extended.external_s390x_linux_quarkus
Test_openjdk11_hs_extended.external_x86-64_linux_quarkus
Test_openjdk11_j9_extended.external_ppc64le_linux_quarkus
Test_openjdk11_j9_extended.external_s390x_linux_quarkus
Test_openjdk11_j9_extended.external_x86-64_linux_quarkus
Test_openjdk8_hs_extended.external_ppc64le_linux_quarkus
Test_openjdk8_hs_extended.external_s390x_linux_quarkus
Test_openjdk8_hs_extended.external_x86-64_linux_quarkus
Test_openjdk8_j9_extended.external_ppc64le_linux_quarkus
Test_openjdk8_j9_extended.external_ppc64le_linux_quarkus
Test_openjdk8_j9_extended.external_s390x_linux_quarkus
Test_openjdk8_j9_extended.external_x86-64_linux_quarkus

First test results on jdk8_j9 on ppc64le (container): https://ci.adoptopenjdk.net/view/New_Test_external_weekly/job/Test_openjdk8_j9_extended.external_ppc64le_linux_quarkus/6/testReport/ - 7 mongodb errors "this version does not support 32Bit: V4_0:Linux:B32" because of these failures, remainder of tests are skipped.

@sophia-guo - can you also check to make sure we remove all trace of the container off the machine at the end of quarkus run, see I've hit this error:

https://ci.adoptopenjdk.net/view/New_Test_external_weekly/job/Test_openjdk8_j9_extended.external_x86-64_linux_quarkus/1/console

22:51:27 docker cp quarkus_java-test:/testResults/surefire-reports "/home/jenkins/workspace/Test_openjdk8_j9_extended.external_x86-64_linux_quarkus/openjdk-tests/TKG/../TKG/test_output_15790602867465/quarkus_java_test_0"/external_test_reports; \
22:51:27 docker rm -f quarkus_java-test; \
22:51:27 docker rmi -f adoptopenjdk-quarkus-test; } 2>&1 | tee -a "/home/jenkins/workspace/Test_openjdk8_j9_extended.external_x86-64_linux_quarkus/openjdk-tests/TKG/../TKG/test_output_15790602867465/TestTargetResult";
22:51:27 docker: Error response from daemon: Conflict. The container name "/quarkus_java-test" is already in use by container "39d95e097846e3bf4910690cb90cb2fd39b040c04740d5344846afec711a6c1c". You have to remove (or rename) that container to be able to reuse that name.

Yes, we do remove all container at the end of test run ( docker rm -f quarkus_java-test ). The problem is if we abort the job ( I rerun the documentation project and abort the job due to hang :-( . ) the container would not be able to be removed. I have logged in all machines https://ci.adoptopenjdk.net/label/ci.role.test&&hw.arch.x86&&sw.os.linux&&sw.tool.docker/ and manually did a cleanup.

Going forward we can also do docker rm -f container at the beginning of each test running. ( Note: If the container is running by jenkins and someone login the same machine as jenkins user and run the test locally the container may be removed. )

ok, thanks @sophia-guo !

MongoDB failures are same on hotspot, this is an issue with the mongodb tests that seem to be hard-coded to only support x86 arch https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo/blob/master/src/main/java/de/flapdoodle/embed/mongo/Paths.java#L156-L157 -> https://github.com/flapdoodle-oss/de.flapdoodle.embed.process/blob/master/src/main/java/de/flapdoodle/embed/process/distribution/BitSize.java#L33-L39聽

Will exclude mongodb for now and rerun on p & z linux to see what else shows up.

First results on jdk11_j9, all tests passing:
https://ci.adoptopenjdk.net/view/New_Test_external_weekly/job/Test_openjdk11_j9_extended.external_x86-64_linux_quarkus/1/testReport/

with quarkus-documentation still excluded, Keith mentioned LogManager issue should be fixed if we use a later version of jdk8, so we will need to find out why docker images tagged as 'latest' are so far behind, as you've asked in https://github.com/AdoptOpenJDK/openjdk-tests/issues/1549

MongoDB / flapdoodle issue previously reported: https://github.com/quarkusio/quarkus/issues/4372 and PR created (but not yet merged) at upstream project: https://github.com/flapdoodle-oss/de.flapdoodle.embed.process/pull/109聽- given that PR is from Oct 2019, do not expect fast movement, we may need to create test target in playlist.xml for p & z that excludes mongodb tests for that platform for now (still running grinders to determine if we hit other issues or not).

Looks like flapdoodle-oss/de.flapdoodle.embed.process#109 got merged (including the fix for aarch64 as well)... maybe things are looking up :)

I still do not see that the mongoDB tests are passing (do we need for the quarkus project to pick up the latest version of flapdoodle I wonder)?

This can now be closed as quarkus, quarkus_quickstarts and camel tests added on x/p/zlinux arches (Docker-based testing).

Was this page helpful?
0 / 5 - 0 ratings