summaryrefslogtreecommitdiff
path: root/openembedded/scripts
diff options
context:
space:
mode:
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