This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PATCH: Make ld testsuite usable outside build directory
Ian Lance Taylor wrote:
Mark Mitchell <mark@codesourcery.com> writes:
(I think a further improvement would be to actually look for a
compiler, using [transform gcc]. If people agree that this is a
good idea, I can add that.)
Seems appropriate.
Thanks for the speedy review!
In that case, we can go with this simpler patch, which I tested by
running both in and out of the build directory for an arm-linux
toolchain, with extra debugging output that verified that CC was getting
the value provided by "make check" when in the build directory.
If this is approved, I'll not check in the other patch, as this one
makes it unnecessary.
OK?
--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304
2005-03-23 Mark Mitchell <mark@codesourcery.com>
* testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
exists.
Index: libstdc++-dg/normal.exp
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/libstdc++-dg/normal.exp,v
retrieving revision 1.6
diff -c -5 -p -r1.6 normal.exp
*** libstdc++-dg/normal.exp 23 Mar 2005 21:46:07 -0000 1.6
--- libstdc++-dg/normal.exp 24 Mar 2005 03:22:06 -0000
***************
*** 22,61 ****
dg-init
# Build the support objects.
v3-build_support
- # Find directories that might have tests.
- set subdirs [glob "$srcdir/\[0-9\]\[0-9\]*"]
- foreach d [glob "$srcdir/\[a-z\]*"] {
- if {[file isdirectory $d]} {
- lappend subdirs $d
- }
- }
-
- # Find all the tests.
set tests [list]
! foreach s $subdirs {
! set subdir_tests [find $s *.cc]
! # Filter out tests that should not be run.
! foreach t $subdir_tests {
! # The DejaGNU "find" procedure sometimes returns a list
! # containing an empty string, when it should realy return
! # an empty list.
! if { $t == "" } {
! continue
}
! # Filter out:
! # 1. interactive tests.
! # 2. performance tests.
! # 3. wchar_t tests, if not supported.
! # 4. thread tests, if not supported.
! if { [string first _xin $t] == -1
! && [string first performance $t] == -1
! && (${v3-wchar_t} || [string first wchar_t $t] == -1)
! && (${v3-threads} || [string first thread $t] == -1) } {
! lappend tests $t
}
}
}
set tests [lsort $tests]
--- 22,87 ----
dg-init
# Build the support objects.
v3-build_support
set tests [list]
!
! # If there is a "testsuite_files" file, use it.
! #
! # This is a workaround for problems reported with using:
! #
! # runtest normal.exp="`cat testsuite_files`"
! #
! # See:
! # http://gcc.gnu.org/ml/libstdc++/2005-03/msg00278.html
! # for discussion of the problem.
! #
! # If that worked consistently, we could modify "make check" to
! # pass that option, and then remove this code.
! if {[info exists blddir]} {
! set tests_file "${blddir}/testsuite/testsuite_files"
! }
! if {[info exists tests_file] && [file exists $tests_file]} {
! set f [open $tests_file]
! while { ! [eof $f] } {
! set t [gets $f]
! if { [string length "$t"] != 0 } {
! lappend tests ${srcdir}/${t}
! }
! }
! close $f
! } else {
! # Find directories that might have tests.
! set subdirs [glob "$srcdir/\[0-9\]\[0-9\]*"]
! foreach d [glob "$srcdir/\[a-z\]*"] {
! if {[file isdirectory $d]} {
! lappend subdirs $d
}
! }
! # Find all the tests.
! foreach s $subdirs {
! set subdir_tests [find $s *.cc]
! # Filter out tests that should not be run.
! foreach t $subdir_tests {
! # The DejaGNU "find" procedure sometimes returns a list
! # containing an empty string, when it should really return
! # an empty list.
! if { $t == "" } {
! continue
! }
! # Filter out:
! # 1. interactive tests.
! # 2. performance tests.
! # 3. wchar_t tests, if not supported.
! # 4. thread tests, if not supported.
! if { [string first _xin $t] == -1
! && [string first performance $t] == -1
! && (${v3-wchar_t} || [string first wchar_t $t] == -1)
! && (${v3-threads} || [string first thread $t] == -1) } {
! lappend tests $t
! }
}
}
}
set tests [lsort $tests]