This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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]
  

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]