summaryrefslogtreecommitdiff
path: root/openembedded
diff options
context:
space:
mode:
authorAndrew McDermott <andrew.mcdermott@linaro.org>2013-11-14 15:11:19 +0000
committerAndrew McDermott <andrew.mcdermott@linaro.org>2013-11-20 11:46:06 +0000
commit751be8e82a104ad60e7fa67227cff2bc6e10a01a (patch)
treef748d43b2adbc3c0ac77b8995b13412cef8884be /openembedded
parentd79a15befea960cc4eac564807aea79a2162bfce (diff)
Rework OpenJDK tests to invoke jtreg directly
This commit reworks the invocation of the JTREG tests to rely on jtreg(1) directly. It was previously using the makefiles in the OpenJDK test directories but there were significant differences between the JDK Makefile and the hotspot Makefile which added unnecessary complexity, particularly as we now want to run tests against both -client and -server VMs. There are also additional parameters for specifying the test timeout and job concurrency. And I also moved the exclude file into this repo so that it can be subject to code reviews. Change-Id: Ic90df7969f862c3fc5ecb71f658601cd2e1d89ba Signed-off-by: Andrew McDermott <andrew.mcdermott@linaro.org>
Diffstat (limited to 'openembedded')
-rw-r--r--openembedded/jtreg-any-test.yaml (renamed from openembedded/jtreg-jdk_beans1.yaml)16
-rw-r--r--openembedded/jtreg-hotspot-compiler.yaml22
-rw-r--r--openembedded/jtreg-hotspot-gc.yaml22
-rw-r--r--openembedded/jtreg-hotspot-runtime.yaml22
-rw-r--r--openembedded/jtreg-hotspot-sanity.yaml22
-rw-r--r--openembedded/jtreg-hotspot-serviceability.yaml22
-rw-r--r--openembedded/jtreg-hotspot-testlibrary.yaml22
-rw-r--r--openembedded/jtreg-jdk_beans.yaml48
-rw-r--r--openembedded/jtreg-jdk_io.yaml22
-rw-r--r--openembedded/jtreg-jdk_lang.yaml22
-rw-r--r--openembedded/jtreg-jdk_math.yaml22
-rw-r--r--openembedded/jtreg-jdk_net.yaml22
-rw-r--r--openembedded/jtreg-jdk_other.yaml22
-rw-r--r--openembedded/jtreg-jdk_security1.yaml22
-rw-r--r--openembedded/jtreg-jdk_text.yaml22
-rw-r--r--openembedded/jtreg-jdk_time.yaml22
-rw-r--r--openembedded/jtreg-jdk_util.yaml22
-rw-r--r--openembedded/jtreg-setup.yaml55
-rw-r--r--openembedded/jtreg/exclude.txt61
-rwxr-xr-xopenembedded/scripts/jtreg-test167
20 files changed, 481 insertions, 196 deletions
diff --git a/openembedded/jtreg-jdk_beans1.yaml b/openembedded/jtreg-any-test.yaml
index bb8304a..fd30fa6 100644
--- a/openembedded/jtreg-jdk_beans1.yaml
+++ b/openembedded/jtreg-any-test.yaml
@@ -13,7 +13,7 @@
# PLEASE DO NOT HAND EDIT THIS FILE.
#
metadata:
- name: jdk_beans1
+ name: hotspot-compiler
format: "Lava-Test-Shell Test Definition 1.0"
description: "Regression tests for the OpenJDK platform"
version: 1.0
@@ -25,8 +25,20 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'TEST_CASE=/usr/lib/jvm/java-8-openjdk/jtreg/hotspot/test/sanity/WhiteBox.java'
run:
steps:
- 'source $HOME/jtreg-setup.env'
- 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_beans1'
+ - 'tc=$(basename $TEST_CASE)'
+ - './jtreg-test -t $tc -j $JAVA_VM -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $TEST_CASE'
diff --git a/openembedded/jtreg-hotspot-compiler.yaml b/openembedded/jtreg-hotspot-compiler.yaml
index b64602e..ce821d1 100644
--- a/openembedded/jtreg-hotspot-compiler.yaml
+++ b/openembedded/jtreg-hotspot-compiler.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - 'TESTDIRS=compiler ./jtreg-test $HOTSPOT_TEST_DIR compiler'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t hotspot-compiler -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/hotspot/test/compiler'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-hotspot-gc.yaml b/openembedded/jtreg-hotspot-gc.yaml
index 46545f7..42a8043 100644
--- a/openembedded/jtreg-hotspot-gc.yaml
+++ b/openembedded/jtreg-hotspot-gc.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - 'TESTDIRS=gc ./jtreg-test $HOTSPOT_TEST_DIR gc'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t hotspot-gc -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/hotspot/test/gc'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-hotspot-runtime.yaml b/openembedded/jtreg-hotspot-runtime.yaml
index c32dcff..ab51dde 100644
--- a/openembedded/jtreg-hotspot-runtime.yaml
+++ b/openembedded/jtreg-hotspot-runtime.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - 'TESTDIRS=runtime ./jtreg-test $HOTSPOT_TEST_DIR runtime'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t hotspot-runtime -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/hotspot/test/runtime'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-hotspot-sanity.yaml b/openembedded/jtreg-hotspot-sanity.yaml
index ffd892f..9514d02 100644
--- a/openembedded/jtreg-hotspot-sanity.yaml
+++ b/openembedded/jtreg-hotspot-sanity.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - 'TESTDIRS=sanity ./jtreg-test $HOTSPOT_TEST_DIR sanity'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t hotspot-sanity -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/hotspot/test/sanity'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-hotspot-serviceability.yaml b/openembedded/jtreg-hotspot-serviceability.yaml
index 72e7a1a..ed6a221 100644
--- a/openembedded/jtreg-hotspot-serviceability.yaml
+++ b/openembedded/jtreg-hotspot-serviceability.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - 'TESTDIRS=serviceability ./jtreg-test $HOTSPOT_TEST_DIR serviceability'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t hotspot-serviceability -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/hotspot/test/serviceability'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-hotspot-testlibrary.yaml b/openembedded/jtreg-hotspot-testlibrary.yaml
index 67d9489..03f5d38 100644
--- a/openembedded/jtreg-hotspot-testlibrary.yaml
+++ b/openembedded/jtreg-hotspot-testlibrary.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - 'TESTDIRS=testlibrary ./jtreg-test $HOTSPOT_TEST_DIR testlibrary'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t hotspot-testlibrary -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/hotspot/test/testlibrary'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_beans.yaml b/openembedded/jtreg-jdk_beans.yaml
new file mode 100644
index 0000000..8027e5a
--- /dev/null
+++ b/openembedded/jtreg-jdk_beans.yaml
@@ -0,0 +1,48 @@
+# Copyright (C) 2013, Linaro Limited.
+#
+# PLEASE DO NOT HAND EDIT THIS FILE.
+#
+# This file has been auto-generated from:
+#
+# make-yaml-files.sh
+#
+# which can be found in the following repo:
+#
+# git://git.linaro.org/leg/openjdk/jtreg-lava-scripts
+#
+# PLEASE DO NOT HAND EDIT THIS FILE.
+#
+metadata:
+ name: jdk_beans
+ format: "Lava-Test-Shell Test Definition 1.0"
+ description: "Regression tests for the OpenJDK platform"
+ version: 1.0
+ maintainer:
+ - andrew.mcdermott@linaro.org
+ os:
+ - openembedded
+ scope:
+ - test
+ devices:
+ - rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
+run:
+ steps:
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_beans -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/beans'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_io.yaml b/openembedded/jtreg-jdk_io.yaml
index 2f01464..a56145c 100644
--- a/openembedded/jtreg-jdk_io.yaml
+++ b/openembedded/jtreg-jdk_io.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_io'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_io -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/io'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_lang.yaml b/openembedded/jtreg-jdk_lang.yaml
index 35d8f06..9441eb1 100644
--- a/openembedded/jtreg-jdk_lang.yaml
+++ b/openembedded/jtreg-jdk_lang.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_lang'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_lang -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/lang'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_math.yaml b/openembedded/jtreg-jdk_math.yaml
index f050add..61b2760 100644
--- a/openembedded/jtreg-jdk_math.yaml
+++ b/openembedded/jtreg-jdk_math.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_math'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_math -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/math'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_net.yaml b/openembedded/jtreg-jdk_net.yaml
index 1287295..ad554c2 100644
--- a/openembedded/jtreg-jdk_net.yaml
+++ b/openembedded/jtreg-jdk_net.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_net'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_net -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/net'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_other.yaml b/openembedded/jtreg-jdk_other.yaml
index d322cb1..bb830c4 100644
--- a/openembedded/jtreg-jdk_other.yaml
+++ b/openembedded/jtreg-jdk_other.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_other'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_other -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/other'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_security1.yaml b/openembedded/jtreg-jdk_security1.yaml
index b9dafb1..839ac83 100644
--- a/openembedded/jtreg-jdk_security1.yaml
+++ b/openembedded/jtreg-jdk_security1.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_security1'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_security1 -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/security1'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_text.yaml b/openembedded/jtreg-jdk_text.yaml
index f17b1d0..3ff85d0 100644
--- a/openembedded/jtreg-jdk_text.yaml
+++ b/openembedded/jtreg-jdk_text.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_text'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_text -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/text'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_time.yaml b/openembedded/jtreg-jdk_time.yaml
index 42c8fd8..7e828f4 100644
--- a/openembedded/jtreg-jdk_time.yaml
+++ b/openembedded/jtreg-jdk_time.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_time'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_time -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/time'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-jdk_util.yaml b/openembedded/jtreg-jdk_util.yaml
index 8f884c9..428bff1 100644
--- a/openembedded/jtreg-jdk_util.yaml
+++ b/openembedded/jtreg-jdk_util.yaml
@@ -25,8 +25,24 @@ metadata:
- test
devices:
- rtsm_ve-armv8
+params:
+ - 'JAVA_VM=-client'
+ - 'JTREG_VERBOSE=-v1'
+ - 'JTREG_CONC=-conc:1'
+ - 'JTREG_TIMEOUT=-timeout:3'
+ - 'JTREG_EXCLUDE_FILE=../jtreg/exclude.txt'
+ - 'PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk'
+install:
+ git-repos:
+ - git://git.linaro.org/leg/openjdk/jtreg-bin.git
+ - git://git.linaro.org/qa/test-definitions.git
run:
steps:
- - 'source $HOME/jtreg-setup.env'
- - 'cd $JTREG_TESTRUN_ID/test-definitions/openembedded/scripts'
- - './jtreg-test $JDK_TEST_DIR jdk_util'
+ - 'PATH=/lava/tests/$TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH'
+ - 'cd /lava/tests/$TESTRUN_ID/test-definitions/openembedded/scripts'
+ - './jtreg-test -t jdk_util -j $JAVA_VM -p $PRODUCT_HOME -- $JTREG_CONC $JTREG_TEST_MODE $JTREG_TIMEOUT -exclude:$JTREG_EXCLUDE_FILE $JTREG_VERBOSE $PRODUCT_HOME/jtreg/jdk/test/java/util'
+parse:
+ pattern: "(?P<result>^(Passed|FAILED)):\\s+(?P<test_case_id>(.*))"
+ fixupdict:
+ Passed: pass
+ FAILED: fail
diff --git a/openembedded/jtreg-setup.yaml b/openembedded/jtreg-setup.yaml
deleted file mode 100644
index ab1846e..0000000
--- a/openembedded/jtreg-setup.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (C) 2013, Linaro Limited.
-#
-# PLEASE DO NOT HAND EDIT THIS FILE.
-#
-# This file has been auto-generated from:
-#
-# make-yaml-files.sh
-#
-# which can be found in the following repo:
-#
-# git://git.linaro.org/leg/openjdk/jtreg-lava-scripts
-#
-# PLEASE DO NOT HAND EDIT THIS FILE.
-#
-metadata:
- name: jtreg-setup
- format: "Lava-Test-Shell Test Definition 1.0"
- description: "Regression tests for the OpenJDK platform"
- version: 1.0
- maintainer:
- - andrew.mcdermott@linaro.org
- os:
- - openembedded
- scope:
- - test
- devices:
- - rtsm_ve-armv8
-install:
- git-repos:
- - git://git.linaro.org/leg/openjdk/jtreg-bin.git
- - git://git.linaro.org/leg/openjdk/openjdk8-aarch64-test-archive.git
- - git://git.linaro.org/qa/test-definitions.git
-run:
- steps:
- - 'cp -r /lava/tests/$TESTRUN_ID $HOME'
- - 'echo "export JTREG_TESTRUN_ID=$HOME/$TESTRUN_ID" > $HOME/jtreg-setup.env'
- - 'source $HOME/jtreg-setup.env'
- - 'TEST_DIR=$JTREG_TESTRUN_ID/openjdk8-aarch64-test-archive'
- - 'CLASSES_DIR=$TEST_DIR/openjdk8-aarch64-port-snapshot/JTwork/classes'
- - 'JT_HOME=$JTREG_TESTRUN_ID/jtreg-bin/jtreg'
- - 'for i in $TEST_DIR/openjdk8-aarch64-port-snapshot/jdk/*; do find $i -print | xargs touch -d now; done'
- - 'for i in $TEST_DIR/openjdk8-aarch64-port-snapshot/hotspot/*; do find $i -print | xargs touch -d now; done'
- - 'for i in $CLASSES_DIR/*; do find $i -print | xargs touch -d tomorrow; done'
- - 'echo "PATH=$JTREG_TESTRUN_ID/jtreg-bin/jtreg/linux/bin:$PATH" >> $HOME/jtreg-setup.env'
- - 'echo "TEST_DIR=$JTREG_TESTRUN_ID/openjdk8-aarch64-test-archive" >> $HOME/jtreg-setup.env'
- - 'echo "CLASSES_DIR=$TEST_DIR/openjdk8-aarch64-port-snapshot/JTwork/classes" >> $HOME/jtreg-setup.env'
- - 'echo "export JT_HOME=$JTREG_TESTRUN_ID/jtreg-bin/jtreg" >> $HOME/jtreg-setup.env'
- - 'echo "export JT_JAVA=/usr/lib/jvm/java-8-openjdk/bin/java" >> $HOME/jtreg-setup.env'
- - 'echo "export PRODUCT_HOME=/usr/lib/jvm/java-8-openjdk" >> $HOME/jtreg-setup.env'
- - 'echo "export JDK_TEST_DIR=$TEST_DIR/openjdk8-aarch64-port-snapshot/jdk/test" >> $HOME/jtreg-setup.env'
- - 'echo "export HOTSPOT_TEST_DIR=$TEST_DIR/openjdk8-aarch64-port-snapshot/hotspot/test" >> $HOME/jtreg-setup.env'
- - 'echo "export JTREG=$JT_HOME/linux/bin/jtreg-lava" >> $HOME/jtreg-setup.env'
- - 'echo "env" >> $HOME/jtreg-setup.env'
- - 'cat $HOME/jtreg-setup.env'
- - 'lava-test-case jtreg-setup --result pass'
diff --git a/openembedded/jtreg/exclude.txt b/openembedded/jtreg/exclude.txt
new file mode 100644
index 0000000..c7e67da
--- /dev/null
+++ b/openembedded/jtreg/exclude.txt
@@ -0,0 +1,61 @@
+# These tests all require the G1 Garbage Collector, which is not
+# implemented in the aarch64-port. They are guaranteed to fail.
+# Unfortunately, some of them run multiple tests with multiple garbage
+# collectors, but as soon as they get to the G1 collector, they abort
+# with an Unimplemented assertion.
+
+gc/7168848/HumongousAlloc.java generic-all
+gc/8000311/Test8000311.java generic-all
+gc/arguments/TestAlignmentToUseLargePages.java generic-all
+gc/arguments/TestG1HeapRegionSize.java generic-all
+gc/arguments/TestG1HeapSizeFlags.java generic-all
+gc/arguments/TestMaxHeapSizeTools.java generic-all
+gc/arguments/TestUseCompressedOopsErgo.java generic-all
+gc/g1/TestPrintGCDetails.java generic-all
+gc/g1/TestPrintRegionRememberedSetInfo.java generic-all
+gc/g1/TestRegionAlignment.java generic-all
+gc/g1/TestShrinkToOneRegion.java generic-all
+gc/g1/TestSummarizeRSetStats.java generic-all
+gc/metaspace/G1AddMetaspaceDependency.java generic-all
+gc/metaspace/TestMetaspacePerfCounters.java generic-all
+gc/startup_warnings/TestG1.java generic-all
+gc/TestG1ZeroPGCTJcmdThreadPrint.java generic-all
+
+# I cranked up the timeout to -timeout:3 (3 times the expected) and
+# still got timeout errors on the foundation model with the following
+# tests:
+
+compiler/5091921/Test6850611.java generic-all
+compiler/5091921/Test6905845.java generic-all
+compiler/5091921/Test6931567.java generic-all
+compiler/5091921/Test6992759.java generic-all
+compiler/5091921/Test7020614.java generic-all
+compiler/6866651/Test.java generic-all
+compiler/6901572/Test.java generic-all
+compiler/7024475/Test7024475.java generic-all
+compiler/7100757/Test7100757.java generic-all
+compiler/7184394/TestAESMain.java generic-all
+compiler/7196199/Test7196199.java generic-all
+
+# this test uses an option that is only accepted by a fastdebug build
+compiler/print/PrintInlining.java generic-all
+
+# this test also fails on x86-64 reference; I suspect that this is a Java 8 issue
+compiler/whitebox/IsMethodCompilableTest.java generic-all
+
+# ClassSpaceSize (aka PermGen) is not supported by Java 8
+gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java generic-all
+
+# also fails on x86-64 reference; -m64 passed to gcc, which is not accepted by aarch64 gcc compiler
+runtime/6929067/Test6929067.sh generic-all
+
+# also fails on x86-64 reference; -m64 passed to gcc, which is not accepted by aarch64 gcc compiler
+runtime/InitialThreadOverflow/testme.sh generic-all
+
+# also fails on x86-64 reference; suspect this is a Java 8 issue, since bad jar file in classpath is now rejected.
+runtime/LoadClass/LoadClassNegative.java generic-all
+
+# There are also a couple of tests which time out on aarch64, which
+# could contribute to the overall job timeout:
+runtime/CDSCompressedKPtrs/CDSCompressedKPtrs.java generic-all
+runtime/CDSCompressedKPtrs/XShareAuto.java generic-all
diff --git a/openembedded/scripts/jtreg-test b/openembedded/scripts/jtreg-test
index a19928f..7f3b82b 100755
--- a/openembedded/scripts/jtreg-test
+++ b/openembedded/scripts/jtreg-test
@@ -1,6 +1,6 @@
#!/bin/bash
-# JTREG LAVA test harness.
+# LAVA wrapper for invoking jtreg(1) and accumulating the results.
#
# Copyright (C) 2013, Linaro Limited.
#
@@ -21,104 +21,83 @@
# Author: Andrew McDermott <andrew.mcdermott@linaro.org>
#
-if [ $# -lt 2 ]; then
- echo "usage: $0: <test-dir> <test>" >&2
- exit 1
-fi
-
-if [ -z "$PRODUCT_HOME" ]; then
- echo "error: PRODUCT_HOME not set!" >&2
- exit 1
-fi
-
-if [ -z "$JT_HOME" ]; then
- echo "error: JT_HOME not set!" >&2
- exit 1
-fi
-
-if [ -z "$JTREG" ]; then
- JTREG=$JT_HOME/linux/bin/jtreg-lava
-fi
-
-set -x
-
-uniq_pathname() {
- local name=$1
- name=${name#$to/}
- name=${name////-}
- echo $to/$name
-}
-
-test_dir=$1
-test_to_run=$2
-
-t=/tmp/jtreg/$test_to_run.$$
-rm -rf $t
-mkdir -p $t
-to=$t/testoutput
-
-# Accommodate differences between jdk tests and hotspot tests.
-#
-# The hotspot tests need to be invoked with TESTDIRS set and they also
-# put the output one directory deeper and the output content (and
-# location) is different to the jdk tests.
-#
-if [ -n "$TESTDIRS" ]; then
- lava-test-case $test_to_run \
- --shell \
- make -C $test_dir PRODUCT_HOME=$PRODUCT_HOME JTREG=$JTREG JT_HOME=$JT_HOME ALT_OUTPUTDIR=$t TESTDIRS=$TESTDIRS
-
- exit_code=$?
- to=`ls -1d $t/*/testoutput`
- zip --quiet -d $to/ARCHIVE_BUNDLE.zip 'JTwork/classes/*'
- mv $to/ARCHIVE_BUNDLE.zip $to/${test_to_run}-ARCHIVE_BUNDLE.zip
- lava-test-case-attach $test_to_run $to/${test_to_run}-ARCHIVE_BUNDLE.zip
- pushd $PWD
- cd $to
- unzip -x -o $to/${test_to_run}-ARCHIVE_BUNDLE.zip 'JTreport/text/*.txt'
- shopt -s nullglob
- for i in $to/JTwork/scratch/hs*.log; do
- lava-test-case-attach $test_to_run $i text/plain
- done
- for i in JTreport/text/*.txt; do
- lava-test-case-attach $test_to_run $i text/plain
+# All options before the '--' are for this script. The remaining are
+# for jtreg(1).
+
+test_case=unknown
+java_vm=-client
+product_home=/usr/lib/jvm/java-8-openjdk
+
+while getopts ":j:o:p:t:" opt; do
+ case $opt in
+ j)
+ java_vm=$OPTARG
+ ;;
+ o)
+ output_dir=$OPTARG
+ ;;
+ p)
+ product_home=$OPTARG
+ ;;
+ t)
+ test_case=$OPTARG
+ ;;
+ \?)
+ echo "Invalid option: -$OPTARG" >&2
+ exit 1
+ ;;
+ :)
+ echo "Option -$OPTARG requires an argument." >&2
+ exit 1
+ ;;
+ esac
+done
+
+shift $((OPTIND-1))
+
+output_dir=/tmp/jtreg/$test_case.$$
+rm -rf $output_dir
+
+lava-test-case $test_case --shell \
+ jtreg \
+ -J${java_vm} \
+ -vmoption:${java_vm} \
+ -jdk:"${product_home}" \
+ -w:$output_dir/JTwork \
+ -r:$output_dir/JTreport \
+ "$@"
+
+exit_code=$?
+
+shopt -s globstar
+shopt -s nullglob
+
+# By pushd'ing we make the attached filenames in the LAVA dashboard
+# much smaller.
+
+if [ -d $output_dir/JTreport/text ]; then
+ pushd $output_dir/JTreport/text
+ for i in *.txt; do
+ if [ $i = "summary.txt" ]; then
+ grep 'Failed\.' $i > failed.txt
+ lava-test-case-attach $test_case failed.txt
+ grep 'Passed\.' $i > success.txt
+ lava-test-case-attach $test_case success.txt
+ sed -i '/Not run\./d' $i
+ fi
+ lava-test-case-attach $test_case $i
done
popd
-else
- lava-test-case $test_to_run \
- --shell \
- make -C $test_dir PRODUCT_HOME=$PRODUCT_HOME JTREG=$JTREG JT_HOME=$JT_HOME ALT_OUTPUTDIR=$t $test_to_run
-
- exit_code=$?
-
- shopt -s nullglob
-
- for i in $to/${test_to_run}*/*.txt; do
- name=$(uniq_pathname $i)
- cp $i $name
- if [ -s $name ]; then
- lava-test-case-attach $test_to_run $name
- fi
- done
-
- for i in $to/${test_to_run}*/JTwork/scratch/hs*.log; do
- lava-test-case-attach $test_to_run $i text/plain
- done
-
- for i in $to/${test_to_run}*/ARCHIVE_BUNDLE.zip; do
- zip --quiet -d $i 'JTwork/classes/*'
- name=$(uniq_pathname $i)
- cp $i $name
- if [ -s $name ]; then
- lava-test-case-attach $test_to_run $name
- fi
- done
+fi
- for i in $to/${test_to_run}*/Stats.txt; do
- cat $i
+if [ -d $output_dir/JTwork/scratch ]; then
+ pushd $output_dir/JTwork/scratch
+ for i in hs*.log; do
+ lava-test-case-attach $test_case $i text/plain
done
+ popd
fi
-rm -rf $t
+rm -rf $output_dir
exit $exit_code