summaryrefslogtreecommitdiff
path: root/openembedded/scripts
diff options
context:
space:
mode:
authorAndrew McDermott <andrew.mcdermott@linaro.org>2013-09-03 21:22:39 +0100
committerAndrew McDermott <andrew.mcdermott@linaro.org>2013-09-04 15:31:06 +0100
commit5f668f19d462c01f6f2315f19710d772f3d34020 (patch)
treeb69c068cb414b9d74d6048c3252d95391c590402 /openembedded/scripts
parent94456ab90b4cf202e0a4474e92001c0627ff4216 (diff)
jtreg: accomodate differences between jdk and hotspot tests
Also attach ARCHIVE_BUNDLE.zip, if available. It also turns out that if you test jdk_beans then the underlying JDK makefiles actually tests jdk_beans{1,2} and {1,2} become the directory names and, as a result, the test results don't get appended correctly. Updated the script to glob on the test name so that we don't have to peak too much into the JDK test machinations. Signed-off-by: Andrew McDermott <andrew.mcdermott@linaro.org>
Diffstat (limited to 'openembedded/scripts')
-rwxr-xr-xopenembedded/scripts/jtreg-test72
1 files changed, 59 insertions, 13 deletions
diff --git a/openembedded/scripts/jtreg-test b/openembedded/scripts/jtreg-test
index b3b601f..1d62ee6 100755
--- a/openembedded/scripts/jtreg-test
+++ b/openembedded/scripts/jtreg-test
@@ -1,6 +1,6 @@
#!/bin/bash
-# JTREG jdk test harness.
+# JTREG LAVA test harness.
#
# Copyright (C) 2013, Linaro Limited.
#
@@ -42,28 +42,74 @@ 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
-d=$t/testoutput/$test_to_run
-pl=$d/passlist.txt
-fl=$d/faillist.txt
-archive_bundle=$d/ARCHIVE_BUNDLE.zip
+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
+ shopt -s nullglob
+ for i in $to/JTwork/scratch/hs*.log; do
+ lava-test-case-attach $test_to_run $i
+ done
+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
-lava-test-case $test_to_run \
- --shell \
- make -C $test_dir PRODUCT_HOME=$PRODUCT_HOME JTREG=$JTREG ALT_OUTPUTDIR=$t $test_to_run
+ 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
-exit_code=$?
+ for i in $to/${test_to_run}*/JTwork/scratch/hs*.log; do
+ lava-test-case-attach $test_to_run $i
+ done
-[ -e $pl ] && lava-test-case-attach $test_to_run $pl
-[ -e $fl ] && lava-test-case-attach $test_to_run $fl
+ 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
-if [ $exit_code -ne 0 ]; then
- [ -e $archive_bundle ] && lava-test-case-attach $test_to_run $archive_bundle
+ for i in $to/${test_to_run}*/Stats.txt; do
+ cat $i
+ done
fi
rm -rf $t