adoptium / aqa-tests

Home of test infrastructure for Adoptium builds
https://adoptium.net/aqavit
Apache License 2.0
131 stars 314 forks source link

External Tests failing due to no JVM_VERSION being supplied to the build #246

Closed Mesbah-Alam closed 6 years ago

Mesbah-Alam commented 6 years ago

Overview The recent change in TestKitGen makefile means that there is no JVM_VERSION being supplied to build_test.xml build file, and subsequently to the build.xml of the third party app tests-- where it is being used to determine the name of the sdk docker image.

Example job https://ci.adoptopenjdk.net/view/External%20tests/job/openjdk8_j9_externaltest_x86-64_linux/20/console

Proposed solution We can construct the value of JVM_VERSION as it is constructed in openjdk_regression/openjdk_regression.mk:

ifneq (, $(findstring openj9, $(JAVA_IMPL)))
    JVM_VERSION = $(JDKVERSION)-openj9
else
    JVM_VERSION = $(JDKVERSION)
endif

Something similar can be done in thirdparty_containers/build.xml

smlambert commented 6 years ago

sap is one more case to include for your proposed solution (though less likely to be needed in third party container tests, as many 3rd party applications do not yet support Java10):

examples: openjdk8 openjdk9-openj9 openjdk10-sap (Note: sap implementation is only for Java10 linux-x86-64 but your case statement can be general)

Mesbah-Alam commented 6 years ago

We plan to construct the value of JVM_VERSION based on JAVA_VERSION, which assumes the values: {SE80, SE90, SE100}. Is there a value that JAVA_VERSION will supply for openjdk10-sap?

sophia-guo commented 6 years ago

SE100 is the JAVA_VERSION for openjdk10-sap

Mesbah-Alam commented 6 years ago

@sophia-guo : How do you distinguish between openjdk10-sap and openjdk10, if they both hava JAVA_VERSION=SE100? Referring to openjdk_regression.mk:

ifeq ($(JAVA_VERSION), SE80)
    JDKVERSION = openjdk8
else
    ifeq ($(JAVA_VERSION), SE90)
        JDKVERSION = openjdk9
    else
        ifeq ($(JAVA_VERSION), SE100)
            JDKVERSION = openjdk10
        endif
    endif
endif
sophia-guo commented 6 years ago
ifeq ($(JAVA_IMPL), openj9)
    JVM_VERSION = $(JDKVERSION)-openj9
else
    ifeq ($(JAVA_IMPL), sap)
        JVM_VERSION = $(JDKVERSION)-sap
    else
        ifeq ($(JAVA_IMPL), hotspot)
            JVM_VERSION = $(JDKVERSION)
        endif
    endif
endif

We can use JAVA_IMPL to distinguish sap, hotspot, openj9.

Mesbah-Alam commented 6 years ago

@sophia-guo : I have created a PR for fixing this issue and asked for you to review, here: https://github.com/AdoptOpenJDK/openjdk-tests/pull/249

sophia-guo commented 6 years ago

Just realized that JAVA_IMPL is used for generating makefile, which is not passed to build compile job.

Mesbah-Alam commented 6 years ago

This enhancement should fix this issue: https://github.com/AdoptOpenJDK/openjdk-tests/issues/251

Mesbah-Alam commented 6 years ago

This is fixed by https://github.com/AdoptOpenJDK/openjdk-tests/issues/251