libstdc++ testing using DejaGnu

George Kraft gk4@austin.ibm.com
Tue Oct 28 18:59:00 GMT 2003


Recently I downloaded GCC 3.3.2 and ran the libstdc++ tests.  I've
observed the number of libstdc++ tests have increased about 450%!  I
have some questions regarding the new testsuite which use the DejaGnu
test harness.

1) What is the libstc++ testsuite code coverage? What are the goals? The
LSB has calculated that there are about 3602 C++ ABIs.

http://www.linuxbase.org/dbadmin/browse/status.php

2) Is there an easy way to build the tests so the binary images can be
packaged up to run on other machines?  I would like to run the same
binary images on a various systems to help prove binary compatibility.

2b) In /usr/share/dejagnu/dg.exp I wanted to pass -keep-output to
dg-test, but I could not figure it out so I hard coded it. :-)

*** dg.exp	2003-10-22 13:50:15.000000000 -0500
--- dg.exp.orig	2003-10-17 12:55:11.000000000 -0500
***************
*** 615,621 ****
      global srcdir		;# eg: /calvin/dje/build/gcc/./testsuite/
      global host_triplet target_triplet
  
!     set keep 1
      set i 0
  
      if { [string index [lindex $args 0] 0] == "-" } {
--- 615,621 ----
      global srcdir		;# eg: /calvin/dje/build/gcc/./testsuite/
      global host_triplet target_triplet
  
!     set keep 0
      set i 0
  
      if { [string index [lindex $args 0] 0] == "-" } {

2c) The above "keep" hack kept dejagnu from removing the runtime images;
however, the object files are left in the toplevel directory and many of
the test files have the same name, so a large number of the images are
overwritten and lost.  So what I did was rename all of the test
filenames, then rebuilt and reran the tests.

	find * -name "*.cc" -print | while read file; do
		new=$(echo $file | sed -e 's/\//_/g')
		dir=$(dirname $file)
		cp $file $dir/keep-$new
	done

3) How can I get DejaGnu to run binary images that I have created above
and not try to build the tests from source?

-- 
George (gk4)




More information about the Libstdc++ mailing list