RFC: Allow the suppression of expensive linker and gas tests

Nick Clifton nickc@redhat.com
Thu Nov 8 11:01:00 GMT 2007


Hi Guys,

  Is anyone other than me frustrated by the length of time it takes
  for some of the linker and assembler tests to run ?

  I regularly run these testsuites for a large number of toolchains
  (112 at the last count) and it takes a significant amount of time
  for them to complete.  Two tests in particular take up a lot of time
  (the gas macro purge test and the linker 64k sections test), so I
  thought that I would see what would happen if I allowed these tests
  to be suppressed.  With the patch below applied and running the
  tests with:

    pushd gas ; make check NO_EXPENSIVE_GAS_TESTS=1 ; popd
    pushd ld  ; make check NO_EXPENSIVE_LD_TESTS=1 ; popd

  I saw the time for my full test run drop from 1 hour 24 mins to 27
  minutes which was great.  So my question is, does anyone have any
  objection to applying this patch and allowing these tests to be
  suppressed if the user explicitly requests it on the command line ?

Cheers
  Nick

ld/testsuite/ChangeLog
2007-11-08  Nick Clifton  <nickc@redhat.com>

	* ld-elf/sec64k.exp: Suppress the execution of these tests if
	the environment variable NO_EXPENSIVE_LD_TESTS exists.

gas/testsuite/ChangeLog
2007-11-08  Nick Clifton  <nickc@redhat.com>

	* gas/macros/macros.exp: Suppress the execution of the purge
	test if the environment variable NO_EXPENSIVE_GAS_TESTS
	exists.

Index: ld/testsuite/ld-elf/sec64k.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-elf/sec64k.exp,v
retrieving revision 1.14
diff -c -3 -p -r1.14 sec64k.exp
*** ld/testsuite/ld-elf/sec64k.exp	6 Jul 2007 14:09:43 -0000	1.14
--- ld/testsuite/ld-elf/sec64k.exp	8 Nov 2007 10:53:37 -0000
*************** if ![is_elf_format] {
*** 27,32 ****
--- 27,37 ----
      return
  }
  
+ # Allow the user to skip this test if they want fast results.
+ if {[info exists env(NO_EXPENSIVE_LD_TESTS)]} {
+     return
+ }
+ 
  # Test >64k sections, with and without -r.  First, create the assembly
  # files.  Have a relocation to another section and one within the local
  # section.

Index: gas/testsuite/gas/macros/macros.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/macros/macros.exp,v
retrieving revision 1.28
diff -c -3 -p -r1.28 macros.exp
*** gas/testsuite/gas/macros/macros.exp	28 Aug 2007 13:21:54 -0000	1.28
--- gas/testsuite/gas/macros/macros.exp	8 Nov 2007 10:53:37 -0000
*************** case $target_triplet in {
*** 69,75 ****
      default { run_list_test dot "-alm" }
  }
  run_list_test end ""
! run_list_test purge "--hash-size=8000"
  run_list_test redef ""
  
  # This test is valid only when '!' is not a comment character
--- 69,79 ----
      default { run_list_test dot "-alm" }
  }
  run_list_test end ""
! # Allow the user to skip this test if they want fast results.
! if {! [info exists env(NO_EXPENSIVE_GAS_TESTS)]} {
!     run_list_test purge "--hash-size=8000"
! }
! 
  run_list_test redef ""
  
  # This test is valid only when '!' is not a comment character



More information about the Binutils mailing list