summaryrefslogtreecommitdiff
path: root/libjava/classpath/scripts/kissme-mauve
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/scripts/kissme-mauve')
-rwxr-xr-xlibjava/classpath/scripts/kissme-mauve346
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