summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-12-02 20:09:11 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-12-02 20:09:11 +0000
commit3553b685b7ac1f7989d83138fe4eb226d3c358fa (patch)
tree3bcad4f2436ce53a60bd94b399caeb2537959cf8
parent2011-12-01 Pawel Zagorski <pzagor@agh.edu.pl> (diff)
downloadrtems-testing-3553b685b7ac1f7989d83138fe4eb226d3c358fa.tar.bz2
2011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
* do_one: Consolidate capturing test results and mailing them. * test_driver: Add support for Objective-C and FORTRAN.
-rw-r--r--gcc/ChangeLog5
-rwxr-xr-xgcc/do_one110
-rwxr-xr-xgcc/test_driver22
3 files changed, 58 insertions, 79 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c5ce5fb..5b7f7f1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * do_one: Consolidate capturing test results and mailing them.
+ * test_driver: Add support for Objective-C and FORTRAN.
+
2011-12-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* do_one: If a secondary language fails to build, do not abort build but
diff --git a/gcc/do_one b/gcc/do_one
index 4bf4394..ffbbf9c 100755
--- a/gcc/do_one
+++ b/gcc/do_one
@@ -1,4 +1,4 @@
-#
+
# Execution Times (for sparc-rtems${RTEMS_VERSION})
#
# - building native - ?
@@ -57,7 +57,7 @@ do_gccgo=no
do_gcj=no
do_gcj_multilib=yes
# Build the GCC FORTRAN language cross compiler.
-do_fortran=no
+do_fortran=yes
do_fortran_multilib=yes
# Build RTEMS for a particular CPU/BSP combination
do_rtems=no
@@ -135,7 +135,7 @@ do
do_gccgo="yes"
do_gcj="yes"
do_objc="yes"
- #do_fortran="yes"
+ do_fortran="yes"
do_rtems="yes"
;;
d) do_cleanup=`toggle ${do_cleanup}` ;;
@@ -198,7 +198,7 @@ fi
# Which CPUs do not support Ada
if [ ${do_ada} = "yes" ] ; then
case ${cpu} in
- avr|h8300|m32c)
+ avr|h8300|m32c|sh)
do_ada=no
run_acats=no
echo ${cpu} does not support Ada
@@ -257,7 +257,7 @@ if [ ${verbose} = yes ] ; then
echo " GCC Go : " ${do_gccgo}
echo " Go Multilib : " ${do_gccgo_multilib}
echo " GCJ : " ${do_gcj}
- echo " GCJ Multilib : " ${do_gccgcj_multilib}
+ echo " GCJ Multilib : " ${do_gcj_multilib}
echo " FORTRAN : " ${do_fortran}
echo "Build RTEMS : " ${do_rtems}
echo "Run GCC Tests : " ${run_gcctests}
@@ -266,6 +266,7 @@ if [ ${verbose} = yes ] ; then
echo "Run Go Tests : " ${run_gccgotests}
echo "Do libgo Tests : " ${run_libgotests}
echo "Do libjava Tests: " ${run_libjavatests}
+ echo "Do FORTRAN Tests: " ${run_fortrantests}
echo "Email Tests : " ${do_mail}
echo "Native GCC : " `type gcc`
echo "PATH : " ${PATH}
@@ -671,35 +672,45 @@ else
fi
pwd
-##### Do the gcc tests
-if [ ${run_gcctests} = "yes" ] ; then
- echo "Running GCC Tests..."
- cd ${BUILDDIR}/b-${cpu}-gcc || exit 1
- time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gcc \
- >${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1
+j_process_results()
+{
+ language=$1
+
+ shift
RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
- mkdir -p ${RDIR}
- cp gcc/testsuite/gcc/gcc.log gcc/testsuite/gcc/gcc.sum ${RDIR}
- if [ -r gcc/testsuite/g++/g++.log ] ; then
- cp gcc/testsuite/g++/g++.log gcc/testsuite/g++/g++.sum ${RDIR}
- fi
+ for results in `ls -1 gcc/testsuite/*/${*}.log gcc/testsuite/*/${*}.sum`
+ do
+ test -d ${RDIR} || mkdir -p ${RDIR}
+ cp ${results} ${RDIR}
+ done
if [ ${do_mail} = "yes" ] ; then
- echo Sending test results to GCC community..
+ echo "Sending ${language} test results to GCC community.."
${GCCDIR}/contrib/test_summary -m gcc-testresults@gcc.gnu.org | sh
if [ $? -ne 0 ] ; then
- echo "Failed to email GCC Test Results to GCC Community .. bailing"
+ echo "Failed to email ${language} Test Results to GCC Community .. bailing"
exit 1
fi
- echo Sending test results to RTEMS community..
+ echo "Sending ${language} test results to RTEMS community.."
${GCCDIR}/contrib/test_summary -o -m rtems-tooltestresults@rtems.org | sh
if [ $? -ne 0 ] ; then
- echo "Failed to email GCC Test Results to RTEMS Community .. bailing"
+ echo "Failed to email ${language} Test Results to RTEMS Community .. bailing"
exit 1
fi
fi
+}
+
+##### Do the gcc tests
+if [ ${run_gcctests} = "yes" ] ; then
+ echo "Running GCC Tests..."
+ cd ${BUILDDIR}/b-${cpu}-gcc || exit 1
+ time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gcc \
+ >${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1
+
+ j_process_results "C/C++" gcc/testsuite/gcc/gcc gcc/testsuite/g++/g++
+
cd .. || exit 1
else
echo Skipping GCC DejaGNU tests for ${cpu}/${bsp}
@@ -761,28 +772,8 @@ if [ ${run_objctests} = "yes" -a \
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} objc \
>${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1
- #RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
- #mkdir -p ${RDIR}
- #cp gcc/testsuite/gcc/gcc.log gcc/testsuite/gcc/gcc.sum ${RDIR}
- #if [ -r gcc/testsuite/g++/g++.log ] ; then
- # cp gcc/testsuite/g++/g++.log gcc/testsuite/g++/g++.sum ${RDIR}
- #fi
+ j_process_results "Objective-C" gcc/testsuite/objc/objc
- if [ ${do_mail} = "yes" ] ; then
- echo Sending Objective-C test results to GCC community..
- ${GCCDIR}/contrib/test_summary -m gcc-testresults@gcc.gnu.org | sh
- if [ $? -ne 0 ] ; then
- echo "Failed to email Objective-C Test Results to GCC Community .. bailing"
- exit 1
- fi
-
- echo Sending test results to RTEMS community..
- ${GCCDIR}/contrib/test_summary -o -m rtems-tooltestresults@rtems.org | sh
- if [ $? -ne 0 ] ; then
- echo "Failed to email Objective-C Test Results to RTEMS Community .. bailing"
- exit 1
- fi
- fi
cd .. || exit 1
else
echo Skipping Objective-C Tests for ${cpu}
@@ -944,25 +935,7 @@ if [ $a ${run_gccgotests} = "yes" -a \
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gccgo \
>${LOGDIR}/${cpu}-gccgotests-${bsp}.log 2>&1
- RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
- mkdir -p ${RDIR}
- cp testsuite/go/go.log testsuite/go/go.sum ${RDIR}
-
- if [ ${do_mail} = "yes" ] ; then
- echo Sending Go test results to GCC community..
- ${GCCDIR}/contrib/test_summary -m gcc-testresults@gcc.gnu.org | sh
- if [ $? -ne 0 ] ; then
- echo "Failed to email GCC Go Test Results to GCC Community .. bailing"
- exit 1
- fi
-
- echo Sending Go test results to RTEMS community..
- ${GCCDIR}/contrib/test_summary -o -m rtems-tooltestresults@rtems.org | sh
- if [ $? -ne 0 ] ; then
- echo "Failed to email GCC GO Test Results to RTEMS Community .. bailing"
- exit 1
- fi
- fi
+ j_process_results "Go" testsuite/go/go
cd .. || exit 1
else
echo Skipping GCC Go DejaGNU tests for ${cpu}/${bsp}
@@ -976,10 +949,7 @@ if [ $a ${run_libgotests} = "yes" -a \
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} libgo \
>${LOGDIR}/${cpu}-libgotests-${bsp}.log 2>&1
- RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
- mkdir -p ${RDIR}
- cp ${TARGET}/libgo/testsuite/libgo-all.log \
- ${TARGET}/libgo/testsuite/libgo-all.sum ${RDIR}
+ j_process_results "Go Library" ${TARGET}/libgo/testsuite/libgo-all
else
echo Skipping libgo DejaGNU tests for ${cpu}/${bsp}
fi
@@ -1057,10 +1027,7 @@ if [ $a ${run_libjavatests} = "yes" -a \
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} java \
>${LOGDIR}/${cpu}-libjavatests-${bsp}.log 2>&1
- RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
- mkdir -p ${RDIR}
- cp ${TARGET}-${bsp}/libjava/testsuite/libjava-all.log \
- ${TARGET}-${bsp}/libjava/testsuite/libjava-all.sum ${RDIR}
+ j_process_results "GCJ" ${TARGET}-${bsp}/libjava/testsuite/libjava-all
else
echo Skipping libjava DejaGNU tests for ${cpu}/${bsp}
fi
@@ -1117,15 +1084,12 @@ fi
##### Do the FORTRAN tests
if [ $a ${run_fortrantests} = "yes" -a \
-d ${BASEDIR}/b-${cpu}-fortran -a ${fortran_fail} = "no" ] ; then
- echo "Running fortran DejaGNU tests..."
+ echo "Running FORTRAN DejaGNU tests..."
cd ${BASEDIR}/b-${cpu}-fortran || exit 1
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} fortran \
>${LOGDIR}/${cpu}-fortrantests-${bsp}.log 2>&1
- RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
- mkdir -p ${RDIR}
- #cp ${TARGET}-${bsp}/libjava/testsuite/libjava-all.log \
- # ${TARGET}-${bsp}/libjava/testsuite/libjava-all.sum ${RDIR}
+ j_process_results "FORTRAN" gcc/testsuite/gfortran/gfortran
else
echo Skipping FORTRAN DejaGNU tests for ${cpu}/${bsp}
fi
diff --git a/gcc/test_driver b/gcc/test_driver
index 860aa87..34d4cc8 100755
--- a/gcc/test_driver
+++ b/gcc/test_driver
@@ -71,16 +71,18 @@ doUpdateTools="no"
doUpdateRTEMS="no"
doNative="no"
doBasicTools="yes"
-verbose="no"
+verbose="yes"
doAda="yes"
doGccGo="yes"
doGcj="yes"
doMail="yes"
+doObjC="yes"
+doFORTRAN="yes"
doTests="yes"
justTests="no"
checkOptionsAndExit="no"
-while getopts J1AacmnuCGTUv OPT
+while getopts J1AacmnuCGTUfOv OPT
do
case "$OPT" in
A) doCleanInstallPoint=`toggle ${doCleanInstallPoint}`
@@ -93,6 +95,8 @@ do
C) checkOptionsAndExit=`toggle ${checkOptionsAndExit}` ;;
G) doGccGo=`toggle ${doGccGo}` ;;
J) doGcj=`toggle ${doGcj}` ;;
+ f) doFORTRAN=`toggle ${doFORTRAN}` ;;
+ O) doObjC=`toggle ${doObjC}` ;;
c) doCleanInstallPoint=`toggle ${doCleanInstallPoint}` ;;
j) justTests=`toggle ${justTests}` ;;
m) doMail=`toggle ${doMail}` ;;
@@ -145,6 +149,8 @@ if [ ${verbose} = "yes" ] ; then
echo "Build Ada: " ${doAda}
echo "Build GCC Go: " ${doGccGo}
echo "Build GCJ: " ${doGcj}
+ echo "Build Objective-C " ${doObjC}
+ echo "Build FORTRAN " ${doFORTRAN}
echo "Email Results: " ${doMail}
echo "Run Tests: " ${doTests}
echo "CPUs to Build: " ${CPUs}
@@ -157,6 +163,8 @@ test ${doTests} = "yes" && testArg="-T"
test ${doAda} = "yes" && adaArg="-a"
test ${doGccGo} = "yes" && gccgoArg="-G"
test ${doGcj} = "yes" && gcjArg="-J"
+test ${doObjC} = "yes" && objcArg="-O"
+test ${doFORTRAN} = "yes" && fortrancArg="-f"
test ${doBasicTools} = "yes" && basicArgs="-b -D -1 -r"
echo "Checking for just tests override"
@@ -164,6 +172,8 @@ if [ ${justTests} = "yes" ] ; then
adaArg=""
gccgoArg=""
gcjArg=""
+ objcArg=""
+ fortranArg=""
basicArgs=""
fi
@@ -279,11 +289,11 @@ build_cpu()
doOne=${SCRIPTDIR}/gcc/do_one
echo "Building ${cpu}/${bsp}..."
echo "time sh -x ${doOne} -v -d ${basicArgs} \
- ${gccgoArg} ${gcjArg} ${adaArg} ${mailArg} ${testArg} \
- ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1"
+ ${gccgoArg} ${gcjArg} ${adaArg} ${objcArg} ${fortranArg} \
+ ${mailArg} ${testArg} \ ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1"
time sh -x ${doOne} -v -d ${basicArgs} \
- ${gccgoArg} ${gcjArg} ${adaArg} ${mailArg} ${testArg} \
- ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1
+ ${gccgoArg} ${gcjArg} ${adaArg} ${objcArg} ${fortranArg} \
+ ${mailArg} ${testArg} \ ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1
echo $?
done