From abd3d6007c581a427a47feabd0f8d95c777574ec Mon Sep 17 00:00:00 2001 From: Phil Edwards Date: Mon, 11 Mar 2002 21:11:07 +0000 Subject: [PATCH] libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): New function. 2002-03-11 Phil Edwards * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): New function. Build the list of tests to run in testsuite_files. * testsuite/libstdc++-v3.dg/dg.exp: Use it. From-SVN: r50598 --- libstdc++-v3/ChangeLog | 6 ++++ .../testsuite/lib/libstdc++-v3-dg.exp | 35 +++++++++++++++++++ libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp | 5 ++- 3 files changed, 43 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a2eaf0f8f16..5e91e159c20 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2002-03-11 Phil Edwards + + * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): + New function. Build the list of tests to run in testsuite_files. + * testsuite/libstdc++-v3.dg/dg.exp: Use it. + 2002-03-11 Phil Edwards * testsuite/21_strings/capacity.cc: Only explicitly instantiate on diff --git a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp index 72081b239a1..8d1e71397d9 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp @@ -176,3 +176,38 @@ proc libstdc++-v3_target_compile { source dest type options } { return [target_compile $source $dest $type $options] } + +# A bit sloppy... Returns a list of source files (full pathnames) to +# compile. 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. +### This is supposed to be done via RUNTESTFLAGS, but that doesn't work. +proc libstdc++-v3-list-sourcefiles { } { + global srcdir + global outdir + + set files_file "${outdir}/testsuite_files" + set sfiles "" + if { [file exists $files_file] } { + set f [open $files_file] + while { ! [eof $f] } { + set t [gets $f] + if { [string length "$t"] != 0 } { + lappend sfiles ${srcdir}/${t} + } + } + } else { + set f [open $files_file "w"] + set where_we_were [pwd] + cd $srcdir + foreach s [lsort [glob -nocomplain */*.cc]] { + lappend sfiles ${srcdir}/${s} + puts $f $s + } + cd $where_we_were + } + close $f + return $sfiles +} + diff --git a/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp b/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp index c5c22c3c287..4e0dd07dbaa 100644 --- a/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp +++ b/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2001 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -40,8 +40,7 @@ remote_exec host ${shell-ulimit-command} "-d ${maximum-memory-usage}" remote_exec host ${shell-ulimit-command} "-v ${maximum-memory-usage}" # Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/*/*.cc]] \ - "" $DEFAULT_CXXFLAGS +dg-runtest [libstdc++-v3-list-sourcefiles] "" $DEFAULT_CXXFLAGS # All done. dg-finish