This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
3.4 PATCH: Ada testsuite fixes
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Arnaud Charlet <charlet at ACT-Europe dot FR>
- Date: Fri, 7 Nov 2003 19:48:06 +0100 (MET)
- Subject: 3.4 PATCH: Ada testsuite fixes
Running the Ada testsuite, I noticed a couple of problems:
* At least the native which on Solaris 8 is a csh script that sources the
user's .cshrc and tries to find its arguments from there. This may fail
in strange ways if there's no .cshrc or it is not properly set up
(because the user uses a bourne shell derivative).
For a bourne shell script, it's at least more portable to use type here,
though this won't probably work with really ancient /bin/sh's. But the
script is already unportable, so this shouldn't matter.
Besides, determining host_gnatmake and host_gcc using which seems wrong:
those variables should be available from the Ada Makefile's and could be
substituted directly. For a native build, the freshly built gnatmake and
gcc should be used instead.
* Both run_acats and run_all.sh should use ${PWDCMD-pwd} instead of plain
pwd.
This patch fixes both problems, and has survived several bootstraps and
regtests on sparc-sun-solaris2.8, i386-pc-solaris2.9, alpha-dec-osf*, and
mips-sgi-irix6*.
Ok for mainline?
Apart from this, the current testsuite setup has massive problems compared
to a dejagnu based one:
* There's no timeout mechanism, so if any test goes into an endless loop,
the whole testsuite run is blocked.
* The script copies the whole testsuite sources into the build tree. This
shouldn't be necessary (and takes quite some time).
* The acats.log and acats.sum files are written to gcc/ada/testsuite/acats
instead of gcc/testsuite/ada.{log,sum}. No other testsuite uses subdirs
off gcc/testsuite; this shouldn't be necessary here either.
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Fri Nov 7 19:43:42 2003 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* ada/acats/run_acats (host_gnatmake): Use type in a /bin/sh script.
(host_gcc): Likewise.
(ROOT): Honor $PWDCMD.
(BASE): Likewise.
* ada/acats/run_all.sh (dir): Honor $PWDCMD.
Index: gcc/testsuite/ada/acats/run_acats
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/ada/acats/run_acats,v
retrieving revision 1.1
diff -u -p -r1.1 run_acats
--- gcc/testsuite/ada/acats/run_acats 27 Oct 2003 11:28:49 -0000 1.1
+++ gcc/testsuite/ada/acats/run_acats 7 Nov 2003 14:01:50 -0000
@@ -7,10 +7,10 @@ fi
# Set up environment to use the Ada compiler from the object tree
-host_gnatmake=`which gnatmake`
-host_gcc=`which gcc`
-ROOT=`pwd`
-BASE=`cd $ROOT/../../..; pwd`
+host_gnatmake=`type gnatmake | awk '{print $3}`
+host_gcc=`type gcc | awk '{print $3}`
+ROOT=`${PWDCMD-pwd}`
+BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}`
PATH=$BASE:$ROOT:$PATH
ADA_INCLUDE_PATH=$BASE/ada/rts
ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH
Index: gcc/testsuite/ada/acats/run_all.sh
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/ada/acats/run_all.sh,v
retrieving revision 1.7
diff -u -p -r1.7 run_all.sh
--- gcc/testsuite/ada/acats/run_all.sh 30 Oct 2003 16:24:40 -0000 1.7
+++ gcc/testsuite/ada/acats/run_all.sh 7 Nov 2003 14:01:50 -0000
@@ -30,7 +30,7 @@ display () {
echo "$@" >> $dir/acats.log
}
-dir=`pwd`
+dir=`${PWDCMD-pwd}`
if [ "$testdir" = "" ]; then
echo You must use make check or make check-ada