How to use JTReg… - Java Regression Test Harness ?
What is JTReg ?
JTReg stands for Java Regression Test suite, also see http://openjdk.java.net/jtreg/.
How to use JTReg ?
Try out the below
make commands to run tests on the individual components:
$ cd $HOME/sources/jdk8_tl/test $ make jdk_core &> openJDK_jdk_core_Test_Results.logs $ make jdk_default &> openJDK_jdk_default_Test_Results.logs $ make jdk_all &> openJDK_jdk_all_Test_Results.logs
(the necessary environement variables need to be in place before the
make test command work on the above components, for a bigger list see link.
TEST.ROOTmust exist in the folder where the below commands will be executed
2) jdk images must be present as a result of the
make clean imagescommand
“Cannot determine the version of java”, solution:
unset JT_JAVA in .bashrc
Method 1 to run
jtreg from the CLI
$ java -jar $HOME/jtreg/lib/jtreg.jar -verbose:fail -jdk: <jdk8-path> $1
Method 2 to run
jtreg from the CLI
$ $HOME/jtreg/linux/bin/jtreg -verbose:fail -jdk: <jdk8-path> $1
jdk8-path - same as
$PRODUCT_HOME (for eg.
$SOURCE_CODE/jdk8/build/macosx-x64-normal-server-release/images/j2sdk-image, this may differ on your system)
$1 with a file or a folder name, below are few examples:
$ cd $SOURCE_CODE/jdk8_tl/jdk/test $ java -jar $HOME/jtreg/lib/jtreg.jar -verbose:all -jdk:$HOME/sources/jdk8_tl/build/linux-x86_64-normal-server-release/images/j2sdk-image/ ./ $ java -jar $HOME/jtreg/lib/jtreg.jar -verbose:all -jdk:$HOME/sources/jdk8_tl/build/linux-x86_64-normal-server-release/images/j2sdk-image/ javax (the above will run all the tests in the jdk/test/javax sub-folder) $ $HOME/jtreg/linux/bin/jtreg -verbose:all -jdk:$HOME/sources/jdk8_tl/build/linux-x86_64-normal-server-release/images/j2sdk-image/ java/lang/invoke/AccessControlTest.java
(the above will run all the tests in the above mentioned test class)
The results can be found in the
/test/ folders in the $HOME/sources/jdk8 or $HOME/sources/jdk9 tree
Run the below to find out the repos or packages that have a test folder in it hence supports
jtreg tests, meaning you can go into these folders and run
make test or the
jtreg CLI or binary file commands to run the respective tests:
$ tree -fL 5 | grep "/test/" | more
Our search gave us the below:
./hotspot/test ./jdk/test ./langtools/test ./nashorn/test ./test/
For example cd into
$SOURCES/dev/jdk9/jdk/test or $SOURCES/dev/jdk9/hotspot/test
Then run: jtreg -verbose:arg .
To run individual tests, specify a subfolder as the argument to jtreg, or cd into that subfolder before running jtreg.
Plenty to learn and know about OpenJDK hence we look at the tests to lear about the implementation code behind. them...