# Enable wchar_t tests if capable.
if GLIBCXX_TEST_WCHAR_T
-IGNORE_WCHAR_T =
stamp_wchar:
touch testsuite_wchar_t
else
-IGNORE_WCHAR_T = *wchar_t*
stamp_wchar:
endif
# Enable thread tests if capable.
if GLIBCXX_TEST_THREAD
-IGNORE_THREAD =
stamp_thread:
touch testsuite_thread
else
-IGNORE_THREAD = *thread*
stamp_thread:
endif
testsuite_files_interactive \
testsuite_files_performance
-TESTS_TO_IGNORE = $(IGNORE_WCHAR_T) $(IGNORE_THREAD)
# We need more things in site.exp, but automake completely controls the
# creation of that file; there's no way to append to it without messing up
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set libiconv "$(LIBICONV)"' >>site.tmp
- @echo 'set tests_to_ignore [list $(TESTS_TO_IGNORE)]' >> site.tmp
- @echo 'set cxxflags { $(AM_CXXFLAGS) }' >> site.tmp
@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
@test ! -f site.exp || \
sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
abi_check_SOURCES = abi_check.cc
abi_check_DEPENDENCIES = libv3test.a
-@GLIBCXX_TEST_WCHAR_T_FALSE@IGNORE_WCHAR_T = *wchar_t*
-
-# Enable wchar_t tests if capable.
-@GLIBCXX_TEST_WCHAR_T_TRUE@IGNORE_WCHAR_T =
-@GLIBCXX_TEST_THREAD_FALSE@IGNORE_THREAD = *thread*
-
-# Enable thread tests if capable.
-@GLIBCXX_TEST_THREAD_TRUE@IGNORE_THREAD =
# Generated lists of files to run. All of these names are valid make
# targets, if you wish to generate a list manually.
testsuite_files_interactive \
testsuite_files_performance
-TESTS_TO_IGNORE = $(IGNORE_WCHAR_T) $(IGNORE_THREAD)
baseline_file = ${baseline_dir}/baseline_symbols.txt
extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers
all-local: stamp_wchar stamp_thread testsuite_files
+
+# Enable wchar_t tests if capable.
@GLIBCXX_TEST_WCHAR_T_TRUE@stamp_wchar:
@GLIBCXX_TEST_WCHAR_T_TRUE@ touch testsuite_wchar_t
@GLIBCXX_TEST_WCHAR_T_FALSE@stamp_wchar:
+
+# Enable thread tests if capable.
@GLIBCXX_TEST_THREAD_TRUE@stamp_thread:
@GLIBCXX_TEST_THREAD_TRUE@ touch testsuite_thread
@GLIBCXX_TEST_THREAD_FALSE@stamp_thread:
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set target_triplet $(target_triplet)' >>site.tmp
@echo 'set libiconv "$(LIBICONV)"' >>site.tmp
- @echo 'set tests_to_ignore [list $(TESTS_TO_IGNORE)]' >> site.tmp
- @echo 'set cxxflags { $(AM_CXXFLAGS) }' >> site.tmp
@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
@test ! -f site.exp || \
sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
proc libstdc++_init { testfile } {
global env
global srcdir blddir objdir tool_root_dir
- global cxx
+ global cxx cxxflags
global includes
global gluefile wrap_flags
global ld_library_path
append ld_library_path ":${gccdir}"
set compiler ${gccdir}/g++
if { [is_remote host] == 0 && [which $compiler] != 0 } {
- 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}"
- }
- }
+ 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}"
+ }
+ }
}
append ld_library_path ":${blddir}/src/.libs"
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}"
}
}
global cxx
global cxxflags
global includes
- global objdir
+ global blddir
if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
lappend options "libs=${gluefile}"
# Picks up the freshly-built testsuite library corresponding to the
# multilib under test.
- lappend options "ldflags=-L${objdir}"
+ lappend options "ldflags=-L${blddir}/testsuite"
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 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* ]
+ 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
} else {
- verbose "cannot compute list of tests named $filename"
- set sfiles [list]
+ verbose "cannot open $tests_file"
}
return $sfiles
}