changeset 3:e0c800ba69f7 draft

Added scripts for building JDKs and creating .jtr list for failed tests.
author Pavel Tisnovsky <ptisnovs@redhat.com>
date Thu, 03 Apr 2014 10:20:06 +0200
parents 09a912dabc95
children a9fd0830352b
files ChangeLog tck7/build_all.sh tck7/jtrlist.sh
diffstat 3 files changed, 230 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Apr 02 09:55:16 2014 +0200
+++ b/ChangeLog	Thu Apr 03 10:20:06 2014 +0200
@@ -1,3 +1,10 @@
+2014-04-03  Pavel Tisnovsky  <ptisnovs@redhat.com>
+
+	* tck7/build_all.sh:
+	* tck7/jtrlist.sh:
+	Added scripts for building JDKs and creating .jtr list for failed
+	tests.
+
 2014-04-02  Pavel Tisnovsky  <ptisnovs@redhat.com>
 
 	* tck7/clean_all.sh:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tck7/build_all.sh	Thu Apr 03 10:20:06 2014 +0200
@@ -0,0 +1,149 @@
+#!/usr/bin/bash
+
+# Daily test builder.
+# 
+#    Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014  Red Hat
+# 
+# This tool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This tool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IcedTea; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+#
+# Linking this library statically or dynamically with other modules is
+# making a combined work based on this library.  Thus, the terms and
+# conditions of the GNU General Public License cover the whole
+# combination.
+# 
+# As a special exception, the copyright holders of this library give you
+# permission to link this library with independent modules to produce an
+# executable, regardless of the license terms of these independent
+# modules, and to copy and distribute the resulting executable under
+# terms of your choice, provided that you also meet, for each linked
+# independent module, the terms and conditions of the license of that
+# module.  An independent module is a module which is not derived from
+# or based on this library.  If you modify this library, you may extend
+# this exception to your version of the library, but you are not
+# obligated to do so.  If you do not wish to do so, delete this
+# exception statement from your version.
+#
+# Builds all JDKs that need to be tested.
+#
+# Author: Pavel Tisnovsky
+# e-mail: ptisnovs@redhat.com
+
+TESTS="compiler devtools runtime"
+JCKVERSION=7
+WORKROOT=/jck/work
+JCKROOT=/jck/7
+DATE=`date +%Y%m%d`
+
+exec > logs/build_$DATE.log 2>&1
+
+function run_tck()
+{
+    REPORTDIR=/jck/results/${DATE}-${1}
+    export DISPLAY=:0.0
+    for tst in ${TESTS}
+    do
+        test_name=JCK-${tst}-${JCKVERSION}
+        workdir=${WORKROOT}/${DATE}-${1}/${tst}
+        mkdir -p ${REPORTDIR}/${tst}
+        mkdir -p ${workdir}
+
+        ORIG_PATH="${PATH}"
+        export PATH="${JCKROOT}/${test_name}/linux/bin;${ORIG_PATH}"
+
+        java -Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m -jar ${JCKROOT}/${test_name}/lib/javatest.jar \
+         -workdir ${workdir} \
+         -open ${JCKROOT}/${tst}-config.jti \
+         -verbose:progress -runtests \
+         -writeReport ${REPORTDIR}/${tst}
+        rc=$?
+        if [ $rc -ne 0 ]; then
+            log "${RED}test failed ${BLUE}${tst}${RESET}"
+        else
+            log "${GREEN}test passed ${BLUE}${tst}${RESET}"
+        fi
+
+        export PATH="${ORIG_PATH}"
+    done
+}
+
+function finish_tck()
+{
+    REPORTDIR=${JCKROOT}/results/${DATE}-${1}
+    echo "Processing ${REPORTDIR}"
+    for tst in ${TESTS}
+    do
+        echo "    Test: ${tst}"
+        WORKDIR=${JCKROOT}/work/${DATE}-${1}/${tst}
+        CONFIG=${JCKROOT}/${tst}-config.jti
+        java -Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m -jar ${JCKROOT}/7/JCK-${tst}-7/lib/javatest.jar \
+             -workDir ${WORKDIR} \
+             -config ${CONFIG} \
+             -verbose:progress \
+             -priorStatus passed,fail,error \
+             -writeReport ${REPORTDIR}/${tst}
+    done
+}
+
+function remove_other_dirs()
+{
+    rm -rf $1/corba
+    rm -rf $1/generated.build
+    rm -rf $1/hotspot
+    rm -rf $1/jaxp
+    rm -rf $1/jaxws
+    rm -rf $1/jdk
+    rm -rf $1/langtools
+    rm -rf $1/make
+    rm -rf $1/test
+    rm -rf $1/build/linux-amd64/bin
+    rm -rf $1/build/linux-amd64/btbins
+    rm -rf $1/build/linux-amd64/btclasses
+    rm -rf $1/build/linux-amd64/btjars
+    rm -rf $1/build/linux-amd64/bundles
+    rm -rf $1/build/linux-amd64/classes
+    rm -rf $1/build/linux-amd64/corba
+    rm -rf $1/build/linux-amd64/demo
+    rm -rf $1/build/linux-amd64/democlasses
+    rm -rf $1/build/linux-amd64/demos-bundles
+    rm -rf $1/build/linux-amd64/docs
+    rm -rf $1/build/linux-amd64/gennativesrc
+    rm -rf $1/build/linux-amd64/hotspot
+    rm -rf $1/build/linux-amd64/impsrc
+    rm -rf $1/build/linux-amd64/include
+    rm -rf $1/build/linux-amd64/jaxp
+    rm -rf $1/build/linux-amd64/jaxws
+    rm -rf $1/build/linux-amd64/langtools
+    rm -rf $1/build/linux-amd64/lib
+    rm -rf $1/build/linux-amd64/sample
+    rm -rf $1/build/linux-amd64/source-bundles
+    rm -rf $1/build/linux-amd64/symbols
+    rm -rf $1/build/linux-amd64/tmp
+    rm -rf $1/build/linux-amd64/j2re-image
+    rm -rf $1/build/linux-amd64/j2sdk-server-image
+}
+
+cp cfg/repo_url_icedtea7_forest.txt cfg/repo_urls.txt
+./run.lua
+remove_other_dirs /jck/daily_tests/builds/Icedtea7_forest/openjdk
+
+cp cfg/repo_url_icedtea7_forest_2_3.txt cfg/repo_urls.txt
+./run.lua
+remove_other_dirs /jck/daily_tests/builds/Icedtea7_forest_2_3/openjdk
+
+cp cfg/repo_url_icedtea7_forest_2_4.txt cfg/repo_urls.txt
+./run.lua
+remove_other_dirs /jck/daily_tests/builds/Icedtea7_forest_2_4/openjdk
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tck7/jtrlist.sh	Thu Apr 03 10:20:06 2014 +0200
@@ -0,0 +1,74 @@
+#!/usr/bin/bash
+
+# Daily test builder.
+# 
+#    Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014  Red Hat
+# 
+# This tool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This tool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IcedTea; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+#
+# Linking this library statically or dynamically with other modules is
+# making a combined work based on this library.  Thus, the terms and
+# conditions of the GNU General Public License cover the whole
+# combination.
+# 
+# As a special exception, the copyright holders of this library give you
+# permission to link this library with independent modules to produce an
+# executable, regardless of the license terms of these independent
+# modules, and to copy and distribute the resulting executable under
+# terms of your choice, provided that you also meet, for each linked
+# independent module, the terms and conditions of the license of that
+# module.  An independent module is a module which is not derived from
+# or based on this library.  If you modify this library, you may extend
+# this exception to your version of the library, but you are not
+# obligated to do so.  If you do not wish to do so, delete this
+# exception statement from your version.
+#
+# Checks test results for any errors and stores .jtr files containing test report
+# into the 'jtr' directory.
+#
+# Author: Pavel Tisnovsky
+# e-mail: ptisnovs@redhat.com
+
+TESTS="compiler devtools runtime"
+DATE=`ls /jck/work`
+RESULTDIR=/jck/results
+WORKDIR=/jck/work
+DESTDIR=jtr
+
+for date in ${DATE}
+do
+    echo "****${date}****"
+    for test in $TESTS; do
+        summary="${RESULTDIR}/${date}/${test}/text/summary.txt"
+        echo "Processing "$summary
+        # we need to translate this form of records:
+        #  "api/java_applet/Applet/AccessibleApplet/index.html#Ctor"
+        # into:
+        #  "api/java_applet/Applet/AccessibleApplet/index_Ctor.jtr"
+        #dirs=`grep " Failed\. test cases\| Error\. " $summary | sed -e 's/\.html.*//g;s/\(.*\)\/[^\/]*/\\1/g'`
+        #files=`grep " Failed\. test cases\| Error\. " $summary | sed -e 's/\.html//g;s/\#/_/g;s/ .*/\.jtr/g'`
+        dirs=`grep " Failed\. \| Error\. " $summary | sed -e 's/\.html.*//g;s/\(.*\)\/[^\/]*/\\1/g'`
+        files=`grep " Failed\. \| Error\. " $summary | sed -e 's/\.html//g;s/\#/_/g;s/ .*/\.jtr/g'`
+        for dir in $dirs; do
+            mkdir -p "${DESTDIR}/${date}/${test}/${dir}"
+        done
+        for file in $files; do
+            cp "${WORKDIR}/${date}/${test}/${file}" "${DESTDIR}/${date}/${test}/${file}"
+            echo $file
+        done
+    done
+done
+