aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/lib
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2005-01-28 18:57:59 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2005-01-28 18:57:59 +0000
commit7d665006a322d2320fbc009c042c40d74229873a (patch)
tree7c5cecdd6226df6c1b6170e6d00a6e91bd6a502b /libstdc++-v3/testsuite/lib
parent82dfb9a58fa7f797c1a9e49708fe9ed273ba4f70 (diff)
downloadgcc-7d665006a322d2320fbc009c042c40d74229873a.zip
gcc-7d665006a322d2320fbc009c042c40d74229873a.tar.gz
gcc-7d665006a322d2320fbc009c042c40d74229873a.tar.bz2
libstdc++.exp (libstdc++_init): Search the path for the compiler.
* testsuite/lib/libstdc++.exp (libstdc++_init): Search the path for the compiler. Don't set cxxflags. (v3_target_compile): Search for libv3test.a relative to $objdir. (lsearch_all_inline): New. (lsearch_all_inline_not): New. (v3-list-tests): Rewrite to not need generated files. * testsuite/Makefile.am (IGNORE_WCHAR_T): New. (IGNORE_THREAD): New. (TESTS_TO_IGNORE): New. (site.exp): Set tests_to_ignore, cxxflags. * aclocal.m4: Regenerate. * Makefile.in: Regenerate. * libmath/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * po/Makefile.in: Likewise. * src/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. From-SVN: r94384
Diffstat (limited to 'libstdc++-v3/testsuite/lib')
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp92
1 files changed, 54 insertions, 38 deletions
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index d299685..d187595 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -79,7 +79,7 @@ proc v3-copy-files {srcfiles} {
proc libstdc++_init { testfile } {
global env
global srcdir blddir objdir tool_root_dir
- global cxx cxxflags
+ global cxx
global includes
global gluefile wrap_flags
global ld_library_path
@@ -137,17 +137,17 @@ proc libstdc++_init { testfile } {
append ld_library_path ":${gccdir}"
set compiler ${gccdir}/g++
if { [is_remote host] == 0 && [which $compiler] != 0 } {
- foreach i "[exec $compiler --print-multi-lib]" {
- set mldir ""
- regexp -- "\[a-z0-9=/\.-\]*;" $i mldir
- set mldir [string trimright $mldir "\;@"]
- if { "$mldir" == "." } {
- continue
- }
- if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append ld_library_path ":${gccdir}/${mldir}"
- }
- }
+ foreach i "[exec [which $compiler] --print-multi-lib]" {
+ set mldir ""
+ regexp -- "\[a-z0-9=/\.-\]*;" $i mldir
+ set mldir [string trimright $mldir "\;@"]
+ if { "$mldir" == "." } {
+ continue
+ }
+ if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
+ append ld_library_path ":${gccdir}/${mldir}"
+ }
+ }
}
append ld_library_path ":${blddir}/src/.libs"
@@ -165,17 +165,14 @@ proc libstdc++_init { testfile } {
return "untested"
}
set cxx [transform "g++"]
- set cxxflags "-ggdb3"
set includes "-I./"
} else {
# If we find a testsuite_flags file, we're testing in the build dir.
if { [file exists $flags_file] } {
set cxx [exec sh $flags_file --build-cxx]
- set cxxflags [exec sh $flags_file --cxxflags]
set includes [exec sh $flags_file --build-includes]
} else {
set cxx [transform "g++"]
- set cxxflags "-ggdb3"
set includes "-I${srcdir}"
}
}
@@ -249,7 +246,7 @@ proc v3_target_compile { source dest type options } {
global cxx
global cxxflags
global includes
- global blddir
+ global objdir
if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
lappend options "libs=${gluefile}"
@@ -266,37 +263,56 @@ proc v3_target_compile { source dest type options } {
# Picks up the freshly-built testsuite library corresponding to the
# multilib under test.
- lappend options "ldflags=-L${blddir}/testsuite"
+ lappend options "ldflags=-L${objdir}"
lappend options "libs=-lv3test"
return [target_compile $source $dest $type $options]
}
+# This is the equivalent of the Tcl 8.4 "lsearch -all -inline" except
+# slower
+proc lsearch_all_inline {listData pattern} {
+ set result [list]
+ foreach item $listData {
+ if {[string match $pattern $item]} {
+ lappend result $item
+ }
+ }
+ return $result
+}
+
+# This is the equivalent of the Tcl 8.4 "lsearch -all -inline -not"
+# except slower
+proc lsearch_all_inline_not {listData pattern} {
+ set result [list]
+ foreach item $listData {
+ if {! [string match $pattern $item]} {
+ lappend result $item
+ }
+ }
+ return $result
+}
+
# Called once, from libstdc++/normal.exp.
proc v3-list-tests { filename } {
- global srcdir
- global blddir
-
- set tests_file "${blddir}/testsuite/${filename}"
- set sfiles ""
-
- verbose -log "In v3-list-tests"
- verbose -log "blddir = ${blddir}"
- verbose -log "tests_file = $tests_file"
-
- # If there is a testsuite_file, use it.
- if { [file exists $tests_file] } {
- set f [open $tests_file]
- while { ! [eof $f] } {
- set t [gets $f]
- if { [string length "$t"] != 0 } {
- lappend sfiles ${srcdir}/${t}
- }
- }
- close $f
+ global srcdir tests_to_ignore
+
+ set sfiles [lsort [ find $srcdir "*.cc"] ]
+ set sfiles [ lsearch_all_inline $sfiles "$srcdir/*/*.cc" ]
+ foreach pattern $tests_to_ignore {
+ set sfiles [ lsearch_all_inline_not $sfiles $pattern ]
+ }
+ if { $filename == "testsuite_files" } {
+ set sfiles [ lsearch_all_inline_not $sfiles *_xin* ]
+ set sfiles [ lsearch_all_inline_not $sfiles *performance* ]
+ } elseif { $filename == "testsuite_files_interactive" } {
+ set sfiles [ lsearch_all_inline $sfiles *_xin* ]
+ } elseif { $filename == "testsuite_files_performance" } {
+ set sfiles [ lsearch_all_inline $sfiles *performance* ]
} else {
- verbose "cannot open $tests_file"
+ verbose "cannot compute list of tests named $filename"
+ set sfiles [list]
}
return $sfiles
}