dg.exp (find-cxx-tests): New function.
authorNathan Sidwell <nathan@acm.org>
Tue, 25 Apr 2017 12:49:17 +0000 (12:49 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 25 Apr 2017 12:49:17 +0000 (12:49 +0000)
* g++.dg/dg.exp (find-cxx-tests): New function.
(main): Use it, remove explicit pruning

From-SVN: r247215

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/dg.exp

index 576838e0d4185b4b6bded2f8734bc189c0a21ca4..5495f787508c2995102153f82e4c55b3b1855c91 100644 (file)
@@ -1,3 +1,8 @@
+2017-04-25  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/dg.exp (find-cxx-tests): New function.
+       (main): Use it, remove explicit pruning
+
 2017-04-25  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/80492
index d760087b2a8211a740a4dc1e30c271d06f19751d..940213d4eff0424a08c02db5d644903635b954a5 100644 (file)
@@ -29,35 +29,19 @@ if ![info exists DEFAULT_CXXFLAGS] then {
 # Initialize `dg'.
 dg-init
 
-# Gather a list of all tests, with the exception of those in directories
-# that are handled specially.
-set tests [lsort [find $srcdir/$subdir *.C]]
-set tests [prune $tests $srcdir/$subdir/bprob/*]
-set tests [prune $tests $srcdir/$subdir/charset/*]
-set tests [prune $tests $srcdir/$subdir/cilk-plus/AN/*]
-set tests [prune $tests $srcdir/$subdir/compat/*]
-set tests [prune $tests $srcdir/$subdir/debug/*]
-set tests [prune $tests $srcdir/$subdir/dfp/*]
-set tests [prune $tests $srcdir/$subdir/gcov/*]
-set tests [prune $tests $srcdir/$subdir/lto/*]
-set tests [prune $tests $srcdir/$subdir/pch/*]
-set tests [prune $tests $srcdir/$subdir/plugin/*]
-set tests [prune $tests $srcdir/$subdir/special/*]
-set tests [prune $tests $srcdir/$subdir/tls/*]
-set tests [prune $tests $srcdir/$subdir/vect/*]
-set tests [prune $tests $srcdir/$subdir/goacc/*]
-set tests [prune $tests $srcdir/$subdir/goacc-gomp/*]
-set tests [prune $tests $srcdir/$subdir/gomp/*]
-set tests [prune $tests $srcdir/$subdir/tree-prof/*]
-set tests [prune $tests $srcdir/$subdir/torture/*]
-set tests [prune $tests $srcdir/$subdir/graphite/*]
-set tests [prune $tests $srcdir/$subdir/tm/*]
-set tests [prune $tests $srcdir/$subdir/cilk-plus/*]
-set tests [prune $tests $srcdir/$subdir/guality/*]
-set tests [prune $tests $srcdir/$subdir/simulate-thread/*]
-set tests [prune $tests $srcdir/$subdir/asan/*]
-set tests [prune $tests $srcdir/$subdir/ubsan/*]
-set tests [prune $tests $srcdir/$subdir/tsan/*]
+# Recursively find files in $dir and subdirs, do not walk into subdirs
+# that contain their own .exp file.
+proc find-cxx-tests { dir suffix } {
+    set tests [lsort [glob -nocomplain -directory $dir "*.$suffix" ]]
+    foreach subdir [lsort [glob -nocomplain -type d -directory $dir *]] {
+       if { [glob -nocomplain -directory $subdir *.exp] eq "" } {
+           lappend tests {*}[find-cxx-tests $subdir $suffix]
+       }
+    }
+    return $tests
+}
+
+set tests [find-cxx-tests $srcdir/$subdir {C}]
 
 # Main loop.
 g++-dg-runtest $tests "" $DEFAULT_CXXFLAGS