1 # Functional and regression tests in C
++ for libstdc
++.
3 # Copyright
(C
) 2001-2017 Free Software Foundation
, Inc.
5 # This
program is free software
; you can redistribute it and
/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation
; either version
3 of the License
, or
8 #
(at your option
) any later version.
10 # This
program is distributed in the hope that it will be useful
,
11 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License
for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this
program; see the file COPYING3.
If not see
17 #
<http
://www.gnu.org
/licenses
/>.
19 # libstdc
++-v3 testsuite that uses the
'dg.exp' driver.
24 # Build the support objects.
29 #
If there is a
"testsuite_files" file, use it.
31 # This is a workaround
for problems reported with using
:
33 # runtest
normal.exp
="`cat testsuite_files`"
36 # http
://gcc.gnu.org
/ml
/libstdc
++/2005-03/msg00278.html
37 #
for discussion of the problem.
39 #
If that worked consistently
, we could modify
"make check" to
40 # pass that option
, and
then remove this code.
41 if {[info exists blddir
]} {
42 set tests_file
"${blddir}/testsuite/testsuite_files"
44 if {[info exists tests_file
] && [file
exists $tests_file
]} {
45 set f
[open $tests_file
]
46 while { ! [eof $f
] } {
48 if { [string length
"$t"] != 0 } {
49 lappend tests $
{srcdir
}/$
{t
}
54 # Find directories that might have tests.
55 set subdirs
[glob
"$srcdir/\[0-9\]\[0-9\]*"]
56 lappend subdirs
"$srcdir/abi"
57 lappend subdirs
"$srcdir/backward"
58 lappend subdirs
"$srcdir/ext"
59 lappend subdirs
"$srcdir/performance"
60 lappend subdirs
"$srcdir/tr1"
61 lappend subdirs
"$srcdir/tr2"
62 lappend subdirs
"$srcdir/decimal"
63 lappend subdirs
"$srcdir/experimental"
64 lappend subdirs
"$srcdir/special_functions"
65 verbose
"subdirs are $subdirs"
69 set subdir_tests
[find $s
*.cc
]
70 set subdir_tests_c
[find $s
*.c
]
71 foreach e $subdir_tests_c
{
72 lappend subdir_tests $e
75 # Filter out tests that should not be run.
76 foreach t $subdir_tests
{
77 # The DejaGNU
"find" procedure sometimes returns a list
78 # containing an empty string
, when it should really
return
84 #
0. utilities
, other parts of the testing infrastructure.
85 #
1. interactive tests.
86 #
2. performance tests.
87 #
3. wchar_t tests
, if not supported.
88 #
4. thread tests
, if not supported.
89 #
5.
*_filebuf
, if file I
/O is not supported.
90 if { [string first _xin $t
] == -1
91 && [string first performance $t
] == -1
92 && ($
{v3
-wchar_t
} ||
[string first wchar_t $t
] == -1)
93 && ($
{v3
-threads
} ||
[string first thread $t
] == -1)
94 && ([string first
"_filebuf" $t] == -1
95 ||
[check_v3_target_fileio
]) } {
101 set tests
[lsort $tests
]
104 global DEFAULT_CXXFLAGS
106 dg
-runtest $tests
"" "$DEFAULT_CXXFLAGS $PCH_CXXFLAGS"