diff options
Diffstat (limited to 'libjava/classpath/scripts/kissme-mauve')
-rwxr-xr-x | libjava/classpath/scripts/kissme-mauve | 346 |
1 files changed, 346 insertions, 0 deletions
diff --git a/libjava/classpath/scripts/kissme-mauve b/libjava/classpath/scripts/kissme-mauve new file mode 100755 index 00000000000..8a6ee22db66 --- /dev/null +++ b/libjava/classpath/scripts/kissme-mauve @@ -0,0 +1,346 @@ +#!/bin/sh + +CLASSPATH_CVS=~/mauve/classpath +CLASSPATH_PREFIX=~/mauve/root/classpath +MAUVE_CVS=~/mauve/mauve +KISSME_CVS=~/mauve/kissme +KISSME_PREFIX=~/mauve/root/kissme +KISSME_BIN=~/mauve/kissme/useful_scripts/kissme +LOG=/tmp/mauve.log +RESULTS=/tmp/kissme-mauve.txt +REPORT=/tmp/kissme-mauve-report.txt +TIMEOUT=30 + +rm -f ${LOG} > /dev/null 2>&1 +rm -f ${RESULTS} > /dev/null 2>&1 +today=`date` +echo "${today}" > ${LOG} +touch ${RESULTS} + + +_aclocal () +{ + aclocal "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running aclocal" + exit 1 + fi +} + +_autoheader () +{ + autoheader "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running autoheader" + exit 1 + fi +} + +_automake () +{ + automake "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running automake" + exit 1 + fi +} + +_autoconf () +{ + autoconf "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running autoconf" + exit 1 + fi +} + +classpath_checkout () +{ + if [ ! -d "${CLASSPATH_CVS}" ]; then + mkdir --parents ${CLASSPATH_CVS} + local dir=`dirname "${CLASSPATH_CVS}"` + cd "${dir}" + cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/classpath co classpath >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out classpath" + exit 1 + fi + fi +} + +classpath_update () +{ + cd "${CLASSPATH_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out classpath" + exit 1 + fi +} + +classpath_clean () +{ + if [ -d "${CLASSPATH_CVS}/build" ]; then + rm -rf "${CLASSPATH_CVS}/build" + fi + if [ -d "${CLASSPATH_PREFIX}" ]; then + rm -rf "${CLASSPATH_PREFIX}" + fi + mkdir --parents "${CLASSPATH_CVS}/build" + mkdir --parents "${CLASSPATH_PREFIX}" +} + +classpath_configure () +{ + cd "${CLASSPATH_CVS}" + + _aclocal + _autoheader + _automake + _autoconf + + cd "${CLASSPATH_CVS}/build" && ../configure --prefix=${CLASSPATH_PREFIX} --with-gcj --enable-jni >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error configuring" + exit 1 + fi +} + +classpath_build () +{ + cd "${CLASSPATH_CVS}/build" && make >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +classpath_install () +{ + cd "${CLASSPATH_CVS}/build" && make install >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +kissme_checkout () +{ + if [ ! -d "${KISSME_CVS}" ]; then + mkdir --parents ${KISSME_CVS} + local dir=`dirname "${KISSME_CVS}"` + cd "${KISSME_CVS}" + cvs -z3 -d :pserver:anonymous@cvs.kissme.sourceforge.net:/cvsroot/kissme co . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out kissme" + exit 1 + fi + fi +} + +kissme_update () +{ + cd "${KISSME_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out kissme" + exit 1 + fi +} + +kissme_clean () +{ + if [ -d "${KISSME_CVS}/build" ]; then + rm -rf "${KISSME_CVS}/build" + fi + if [ -d "${KISSME_PREFIX}" ]; then + rm -rf "${KISSME_PREFIX}" + fi + mkdir --parents "${KISSME_CVS}/build" + mkdir --parents "${KISSME_PREFIX}" +} + +kissme_configure () +{ + cd "${KISSME_CVS}" + + _aclocal + _autoheader + _automake -a + _autoconf + + cd "${KISSME_CVS}" && ./configure --prefix=${KISSME_PREFIX} \ + --enable-use-zips --with-gnu-classpath=${CLASSPATH_CVS} \ + --with-gnu-classpath-build=${CLASSPATH_CVS}/build \ + --with-classpath-install-dir=${CLASSPATH_PREFIX} >> ${LOG} 2>&1 + + if [ $? -ne 0 ]; then + echo "Error configuring" + exit 1 + fi +} + +kissme_build () +{ + cd "${KISSME_CVS}" && make >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +kissme_install () +{ + cd "${KISSME_CVS}" && make install >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +mauve_checkout () +{ + if [ ! -d "${MAUVE_CVS}" ]; then + mkdir --parents ${MAUVE_CVS} + local dir=`dirname "${MAUVE_CVS}"` + cd "${dir}" + cvs -z3 -d :pserver:anoncvs@sources.redhat.com:/cvs/mauve co mauve >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out mauve" + exit 1 + fi + fi +} + +mauve_update () +{ + cd "${MAUVE_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out mauve" + exit 1 + fi +} + +kissme_mauve () +{ + export JAVAC="jikes -bootclasspath ${CLASSPATH_PREFIX}/share/classpath/glibj.zip" + export JAVA="${KISSME_BIN}" + +# if [ -f "${KISSME_CVS}/useful_scripts/mauve-kissme" ]; then +# cp -f "${KISSME_CVS}/useful_scripts/mauve-kissme" "${MAUVE_CVS}" +# fi + + if [ -f "${CLASSPATH_CVS}/mauve-classpath" ]; then + cp -f "${CLASSPATH_CVS}/mauve-classpath" "${MAUVE_CVS}" + fi + + cd "${MAUVE_CVS}" + if [ $? -ne 0 ]; then + echo "Error configuring mauve" + exit 1 + fi + + _aclocal + _automake + _autoconf + + ./configure >> "${LOG}" 2>&1 + if [ $? -ne 0 ]; then + echo "Error configuring mauve" + exit 1 + fi + + # create class choices from key file + if [ -f classes ]; then + rm -f classes 2>/dev/null + fi + if [ -f choices ]; then + rm -f choices 2>/dev/null + fi + /bin/sh choose "${MAUVE_CVS}" classpath + if [ $? -ne 0 ]; then + echo "Error during choose for mauve" + exit 1 + fi + + # compile classes + compile=`cat "${MAUVE_CVS}/classes" | tr '.' '/' | awk '{print $1".java"}' | xargs` + ${JAVAC} -classpath "${MAUVE_CVS}" -d "${MAUVE_CVS}" ${compile} >> "${LOG}" 2>&1 + if [ $? -ne 0 ]; then + echo "Error during compile for mauve" + exit 1 + fi + + set -m + for i in `cat "${MAUVE_CVS}/classes"`; do + echo "$i" | ${JAVA} gnu.testlet.SimpleTestHarness -verbose >> "${RESULTS}" 2>&1 & + + vm_pid=$! + sleep ${TIMEOUT} && kill -9 $vm_pid > /dev/null 2>&1 && echo "FAIL: $i execution aborted" >> "${RESULTS}" & + kill_pid=$! + fg %- 2>/dev/null + kill -9 $kill_pid >/dev/null 2>&1 # && echo Test did not time out + done +} + +mauve_summary () +{ + if [ ! -f "${RESULTS}" ]; then + echo "Error creating summary" + exit 1 + fi + + pass_cnt=`grep PASS "${RESULTS}" | wc -l` + fail_cnt=`grep FAIL "${RESULTS}" | wc -l` + total_cnt=`expr $pass_cnt + $fail_cnt` + + today=`date` + echo "Mauve test results for Kissme" > "${REPORT}" + echo "Report generated on ${today}" >> "${REPORT}" + echo "" >> "${REPORT}" + echo "${fail_cnt} of ${total_cnt} tests failed." >> "${REPORT}" + echo "" >> "${REPORT}" + cat "${RESULTS}" >> "${REPORT}" +} + +#-------------------------------------------------------------------- +# Update Classpath CVS +#-------------------------------------------------------------------- +classpath_checkout +classpath_update + +#-------------------------------------------------------------------- +# Build Classpath with GCJ 3.2 +#-------------------------------------------------------------------- +classpath_clean +classpath_configure +classpath_build +classpath_install + +#-------------------------------------------------------------------- +# Update Kissme CVS +#-------------------------------------------------------------------- +kissme_checkout +kissme_update + +#-------------------------------------------------------------------- +# Build Kissme +#-------------------------------------------------------------------- +kissme_clean +kissme_configure +kissme_build +#kissme_install + +#-------------------------------------------------------------------- +# Update Mauve CVS +#-------------------------------------------------------------------- +mauve_checkout +mauve_update + +#-------------------------------------------------------------------- +# Execute Mauve +#-------------------------------------------------------------------- +kissme_mauve + +#-------------------------------------------------------------------- +# Create report +#-------------------------------------------------------------------- +mauve_summary |