diff options
author | kan <kan@FreeBSD.org> | 2004-07-28 03:12:05 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2004-07-28 03:12:05 +0000 |
commit | 96bad46eee8bf907dceb152bbb9d128bed5a4956 (patch) | |
tree | 75ef0e6da73746d6849e25a0996ae34e1aeff51d /contrib/libstdc++/scripts/create_testsuite_files | |
parent | 5e00ec74d8ce58f99801200d4d3d0412c7cc1b28 (diff) | |
download | FreeBSD-src-96bad46eee8bf907dceb152bbb9d128bed5a4956.zip FreeBSD-src-96bad46eee8bf907dceb152bbb9d128bed5a4956.tar.gz |
Gcc 3.4.2 20040728 C++ support bits.
Diffstat (limited to 'contrib/libstdc++/scripts/create_testsuite_files')
-rwxr-xr-x | contrib/libstdc++/scripts/create_testsuite_files | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/libstdc++/scripts/create_testsuite_files b/contrib/libstdc++/scripts/create_testsuite_files new file mode 100755 index 0000000..50f2e13 --- /dev/null +++ b/contrib/libstdc++/scripts/create_testsuite_files @@ -0,0 +1,61 @@ +#!/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=C +export 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]*` +for d in [a-z]*; do + test -d $d && dlist="$dlist $d" +done +find $dlist "(" -type f -o -type l ")" -name "*.cc" -print | sort > $tmp.1 +if test ! -s "$tmp.1"; then + exit 1 +fi + +# If the library is not configured to support wchar_t, don't run those tests. +if test -f "$outdir/testsuite_wchar_t"; then + mv $tmp.1 $tmp.2 +else + grep -v wchar_t $tmp.1 > $tmp.2 +fi + +# Now filter out classes of tests. These classes are run using special rules. +grep _xin $tmp.2 > $tests_file_inter +grep -v _xin $tmp.2 > $tmp.3 + +grep performance $tmp.3 > $tests_file_perf +grep -v performance $tmp.3 > $tmp.4 + +# ...more filters go here. +cp $tmp.4 $tests_file_normal + +rm $tmp* +exit 0 |