source: trunk/gcc/contrib/test_installed@ 3809

Last change on this file since 3809 was 1392, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.7 KB
Line 
1#! /bin/sh
2
3# (C) 1998, 2000, 2002, 2003 Free Software Foundation
4# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
5
6# This script is Free Software, and it can be copied, distributed and
7# modified as defined in the GNU General Public License. A copy of
8# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
9
10# This scripts assumes it lives in the contrib directory of the GCC
11# source tree, so it will find the testsuite tree from its location.
12# If you move it elsewhere, or want to use another testsuite tree, you
13# can override the defaults with --srcdir=/some/dir/GCC or
14# --testsuite=/some/dir/GCC/gcc/testsuite. If you specify
15# --testsuite, --srcdir will be ignored; otherwise, `/gcc/testsuite'
16# will be appended to the srcdir.
17
18# You may specify where the binaries to be tested should be picked up
19# from. If you specify --prefix=/some/dir, gcc, g++ and g77 will be
20# looked for at /some/dir/bin. Each one may be overridden by
21# specifying --with-gcc=/pathname/to/gcc, --with-g++=/pathname/to/g++
22# and --with-g77=/pathname/to/g77. If you specify --without-gcc,
23# --without-g++ or --without-g77, the test for the specified program
24# will be skipped. By default, gcc, g++ and g77 will be searched in
25# the PATH.
26
27# An additional argument may specify --tmpdir=/some/dir; by default,
28# temporaries will be stored in the current directory, where the log
29# files will be stored.
30
31# The script will interpret arguments until it finds one it does not
32# understand. The remaining ones will be passed to `runtest'. A
33# double-dash can be used to explicitly separate the arguments to
34# `test_installed' from the ones to `runtest'.
35
36# This script should be run in an empty directory; it will refuse to
37# run if it finds a file named site.exp in the current directory.
38
39
40if test -f site.exp; then
41 echo site.exp already exists >&2
42 exit 1
43fi
44
45while true; do
46 case "$1" in
47 --with-testsuite=*) testsuite=`echo "$1" | sed 's/[^=]*=//'`; shift;;
48 --srcdir=*) srcdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
49
50 --prefix=*) prefix=`echo "$1" | sed 's/[^=]*=//'`; shift;;
51 --with-gcc=*) GCC_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
52 --with-g++=*) GXX_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
53 --with-g77=*) G77_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
54 --without-gcc) GCC_UNDER_TEST=no; shift;;
55 --without-g++) GXX_UNDER_TEST=no; shift;;
56 --without-g77) G77_UNDER_TEST=no; shift;;
57 --without-objc) OBJC_UNDER_TEST=no; shift;;
58
59 --tmpdir=*) tmpdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
60
61 --help) cat <<\EOF
62Runs the testsuite for an installed version of gcc/g++/g77/objc
63Copyright (C) 1998, 2000, 2002, 2003 Free Software Foundation
64by Alexandre Oliva <oliva@dcc.unicamp.br>
65
66Supported arguments:
67
68--help prints this page
69
70--with-testsuite=/some/dir/gcc/testsuite specify the testsuite directory
71--srcdir=/some/dir same as --with-testsuite=/some/dir/gcc/testsuite
72 [deduced from shell-script pathname]
73
74--prefix=/some/dir use gcc, g++ and g77 from /some/dir/bin [PATH]
75--with-gcc=/some/dir/bin/gcc use specified gcc program [gcc]
76--with-g++=/some/dir/bin/g++ use specified g++ program [g++]
77--with-g77=/some/dir/bin/g77 use specified g77 program [g77]
78--without-gcc do not run gcc testsuite
79--without-g++ do not run g++ testsuite
80--without-g77 do not run g77 testsuite
81--without-objc do not run objc testsuite
82
83--tmpdir=/some/dir create temporaries and leave failed programs
84 at specified directory [.]
85
86-- end of argument list; following arguments are passed to runtest
87EOF
88 exit
89 ;;
90
91 --) shift; break;;
92 *) break;;
93 esac
94done
95
96if test x"${testsuite+set}" != x"set" && test x"${srcdir+set}" != x"set"; then
97 file=$0
98 while [ -h $file ]; do
99 file=`ls -l $file | sed s/'.* -> '//`
100 done
101 srcdir=`CDPATH=. && cd \`echo "$file" | sed 's,/*[^/]*$,,;s,^$,.,'\`/.. >/dev/null && ${PWDCMD-pwd}`
102fi
103
104cat >site.exp <<EOF
105set rootme "."
106set tmpdir "${tmpdir-`${PWDCMD-pwd}`}"
107set srcdir "${testsuite-${srcdir}/gcc/testsuite}"
108set CFLAGS ""
109set CXXFLAGS ""
110set GCC_UNDER_TEST "${GCC_UNDER_TEST-${prefix}${prefix+/bin/}gcc}"
111set GXX_UNDER_TEST "${GXX_UNDER_TEST-${prefix}${prefix+/bin/}g++}"
112set G77_UNDER_TEST "${G77_UNDER_TEST-${prefix}${prefix+/bin/}g77}"
113set OBJC_UNDER_TEST "${OBJC_UNDER_TEST-${prefix}${prefix+/bin/}gcc}"
114EOF
115
116test x"${GCC_UNDER_TEST}" = x"no" || runtest --tool gcc ${1+"$@"}
117test x"${GXX_UNDER_TEST}" = x"no" || runtest --tool g++ ${1+"$@"}
118test x"${G77_UNDER_TEST}" = x"no" || runtest --tool g77 ${1+"$@"}
119test x"${OBJC_UNDER_TEST}" = x"no" || runtest --tool objc ${1+"$@"}
120
121exit 0
Note: See TracBrowser for help on using the repository browser.