#!/bin/sh# Constructs lists of source files (full pathnames) to test. Two# files are constructed: testsuite_files, which is used to test with# the default dg-runtest command, and testsuite_files_interactive,# which is used to test cases that require input to be entered. In# addition, both lists are pruned of wchar_t tests if the toolchain# under test does not support wchar_t functionality.## We mimic the mkcheck script in that the first time this is run, all# existing files are listed in "testsuite_files" in the output# directory. Subsequent runs pull the list from that file, allowing# users to trim the list down to problematic tests, or just run# paticular directories or sub-directories of tests.## Selecting individual tests can also be done with RUNTESTFLAGS, but# that doesn't really do all that we are trying to accomplish here.LC_ALL=Cexport LC_ALL# Both of these are in the appropriate testsuite subdirectories.srcdir="$1"outdir="$2"tmp="${TMPDIR:-/tmp}/ctt$$"tests_file_normal="$outdir/testsuite_files"tests_file_inter="$outdir/testsuite_files_interactive"tests_file_perf="$outdir/testsuite_files_performance"cd $srcdir# This is the ugly version of "everything but the current directory". It's# what has to happen when find(1) doesn't support -mindepth, or -xtype.dlist=`echo [0-9][0-9]*`dlist="$dlist abi backward ext performance tr1"find $dlist "(" -type f -o -type l ")" -name "*.cc" -print > $tmp.01find $dlist "(" -type f -o -type l ")" -name "*.c" -print > $tmp.02cat $tmp.01 $tmp.02 | sort > $tmp.1if test ! -s "$tmp.1"; thenexit 1fi# Now filter out classes of tests. These classes are run using special rules.grep _xin $tmp.1 > $tests_file_intergrep -v _xin $tmp.1 > $tmp.4grep performance $tmp.4 > $tests_file_perfgrep -v performance $tmp.4 > $tmp.5# ...more filters go here.cp $tmp.5 $tests_file_normalrm $tmp*exit 0