This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]