Skip to content

How to Run a Grinder Build on Jenkins

Shelley Lambert edited this page Jan 21, 2019 · 35 revisions

How to run a Grinder test job at AdoptOpenJDK

Using AdoptOpenJDK Grinder job to test your new CS or rerun a test. These instructions also apply to Grinder jobs at the openj9 Jenkins server (and internal servers).

  • Click Build with Parameters, or go to the Grinder job in your internal Jenkins instance and set your own parameters:
    • ADOPTOPENJDK_REPO : optional: your fork of openjdk-tests
    • ADOPTOPENJDK_BRANCH : optional, your branch off of your fork of openjdk-tests
    • SPEC : required, platform SPEC (Note: openj9 JAVA_IMPL only supports compressedref sdk for now, e.g. ***_cmprssptrs)
    • JAVA_VERSION : (required, SExxx that matches your SDK. e.g., SE80, SE90, SE100, SE110)
    • JDK_IMPL : different JVM implementations (hotspot, openj9, sap, ibm)
    • BUILD_LIST : optional, reduces the amount of directories that will be compiled. e.g., openjdk_regression, systemtest, performance, thirdparty_containers, functional. Any sub test directory you wish to compile
    • TARGET : Note this is related with TESTPROJECT. If TESTPROJECT is set as a specific one, the target must be set as the target or sub-target of that specific project. For example, if TESTPROJECT=openjdk_regression, the target could be something like jdk_math. Refer to testCaseName in the playlist.xml files for target names.
    • CUSTOM_TARGET : if TARGET=jdk_custom, you can set this to be the openjdk_regression test class name
    • SDK_RESOURCE : relates to which build you wish to test (nightly, releases, customized)
    • CUSTOMIZED_SDK_URL : this is needed when SDK_RESOURCE=customized
    • EXTRA_OPTIONS : set this to append additional JVM options to the test run
    • JVM_OPTIONS : set this to replace the JVM options of the test run
    • ITERATIONS : number of times to repeat the execution of the test run
    • NODE_LABEL : fill this to run a test if left blank, any machine matching the SPEC will be selected
    • OPENJ9_REPO : optional, your fork of the eclipse/openj9 repo
    • OPENJ9_BRANCH : optional, your branch off your fork of eclipse/openj9 repo
    • TEST_FLAG: optional. Only set to JITAAS for testing JITAAS SDK

Common scenario: Re-include and Rerun an openjdk regression test that was failing

  • rerun a test or a group of tests in openjdk_regression (take test javax/xml/ws/8172297/Main.java, group jdk_other for example)

    • comment out or delete the line that contains the previously excluded test, in this example, "javax/xml/ws/8172297/Main.java 119 generic-all" in ProblemList_JVM_VERSION.txt (currently only ProblemList_openjdk8.txt is available, others are empty files)
    • Set TESTPROJECT=openjdk_regression, and TARGET=jdk_other_0 - and this will run the group of tests defined in the jdk_other group, alternatively, TARGET=jdk_custom and CUSTOM_TARGET=javax/xml/ws/8172297/Main.java to rerun that particular test class
  • The current granularity that we have set for the openjdk regression tests, is to the group level. If you want a finer granularity, as in, if only want to run a specific test, you can set TARGET==jdk_custom and CUSTOM_TARGET=javax/xml/ws/8172297/Main.java to rerun that particular test class

  • If you want to run a directory of tests, TARGET==jdk_custom and CUSTOM_TARGET=javax/xml/ws to run the tests within that directory