Mercurial > people > ptisnovs > daily_tests
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 +