summaryrefslogtreecommitdiff
path: root/libstdc++-v3/scripts
diff options
context:
space:
mode:
authorpme <pme@138bc75d-0d04-0410-961f-82ee72b054a4>2003-07-06 03:14:37 +0000
committerpme <pme@138bc75d-0d04-0410-961f-82ee72b054a4>2003-07-06 03:14:37 +0000
commit0b743223bf126365c5a6363950188ecc4c30980f (patch)
tree817b173cc3f9ad9f203ff6cd79a79cd85a38e05d /libstdc++-v3/scripts
parenta2b864d1b008533717e6da39a153c7771c99f678 (diff)
downloadgcc-0b743223bf126365c5a6363950188ecc4c30980f.tar.gz
2003-07-05 Phil Edwards <pme@gcc.gnu.org>
* scripts/create_testsuite_files: New file. * testsuite/Makefile.am (all-local, check-performance): Use it. * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests): Remove. * testsuite/Makefile.in: Regenerated. * testsuite/performance/filebuf_sputc.cc: Remove the temporary files at the end. * testsuite/performance/fstream_seek_write.cc: Likewise. * testsuite/performance/ofstream_insert_float.cc: Likewise. * testsuite/performance/ofstream_insert_int.cc: Likewise. * testsuite/abi_check.cc (main): Nicer spacing in usage output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68988 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/scripts')
-rwxr-xr-xlibstdc++-v3/scripts/create_testsuite_files58
1 files changed, 58 insertions, 0 deletions
diff --git a/libstdc++-v3/scripts/create_testsuite_files b/libstdc++-v3/scripts/create_testsuite_files
new file mode 100755
index 00000000000..7fbcbdb2fb3
--- /dev/null
+++ b/libstdc++-v3/scripts/create_testsuite_files
@@ -0,0 +1,58 @@
+#!/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.
+dlist=`echo [0-9][0-9]*`
+for d in [a-z]*; do
+ test -d $d && dlist="$dlist $d"
+done
+find $dlist -type f -name "*.cc" | sort > $tmp.1
+
+# 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