This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

[PATCH] Dejagnu testsuite for GNAT


Hi,

This is the long overdue Dejagnu testsuite harness for the GNAT compiler, 
almost entirely the work of Jim.  As Jim correctly envisioned, find_gnatmake 
from libgloss.exp needs to be patched; while I was at it, I totally rewrote 
it and modelled it more closely on find_gcc/g++/gcj.

I'm not posting the testcases yet, but the current results I have are:

                === gnat tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/eric/svn/gcc/gcc/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running /home/eric/svn/gcc/gcc/testsuite/gnat.dg/dg.exp ...
FAIL: gnat.dg/ambiguous_1.adb (test for excess errors)
FAIL: gnat.dg/lists_1.adb  (test for warnings, line 8)
FAIL: gnat.dg/lists_1.adb (test for excess errors)
FAIL: gnat.dg/tagged_2.adb  (test for errors, line 16)
Running /home/eric/svn/gcc/gcc/testsuite/gnat.dg/specs/specs.exp ...
FAIL: gnat.dg/specs/access_1.ads (test for excess errors)
Running /home/eric/svn/gcc/gcc/testsuite/gnat.dg/style/style.exp ...

                === gnat Summary ===

# of expected passes            106
# of unexpected failures        5
# of expected failures          2
gmake: [check-gnat] Error 1 (ignored)


Tested on i586-suse-linux.  OK for GCC and Dejagnu mainline?


2006-04-10   James A. Morrison  <phython@gcc.gnu.org>
             Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/18692
ada/
        * Make-lang.in: Add check-gnat to lang_checks.
        Rename existing check-gnat into check-acats.

testsuite/
        * lib/gnat.exp: New file.
        * lib/gnat-dg.exp: Likewise.
        * gnat.dg: New directory.
        * gnat.dg/dg.exp: New driver.
	* gnat.dg/specs: New directory.
	* gnat.dg/specs/specs.exp: New driver.
	* gnat.dg/style: New directory.
	* gnat.dg/style/style.exp: New driver.


2006-04-10  Eric Botcazou  <ebotcazou@adacore.com>

	* libgloss.exp (find_gnatmake): Rewrite.


-- 
Eric Botcazou
Index: Make-lang.in
===================================================================
--- Make-lang.in	(revision 112775)
+++ Make-lang.in	(working copy)
@@ -818,16 +818,18 @@ ada.stagefeedback: stagefeedback-start
 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stagefeedback/ada
 	-$(MV) ada/stamp-* stagefeedback/ada
 
-check-ada: check-gnat
+lang_checks += check-gnat
+
+check-ada: check-acats check-gnat
 
 ACATSDIR = $(TESTSUITEDIR)/ada/acats
 
-check-gnat:
+check-acats:
 	test -d $(ACATSDIR) || mkdir -p $(ACATSDIR)
 	testdir=`cd ${srcdir}/${ACATSDIR}; ${PWD_COMMAND}`; \
 	export testdir; cd $(ACATSDIR); $(SHELL) $${testdir}/run_acats $(CHAPTERS)
 
-.PHONY: check-gnat
+.PHONY: check-acats
 
 
 # Bootstrapping targets for just GNAT - use the same stage directories
*** libgloss.exp.1	2006-04-10 08:43:14.667712296 +0200
--- libgloss.exp	2006-04-10 09:17:42.609337384 +0200
*************** proc find_g77 {} {
*** 709,729 ****
  proc find_gnatmake {} {
      global tool_root_dir
  
-     set root "$tool_root_dir/gcc"
-     set GM ""
- 
      if ![is_remote host] {
!         set file [lookfor_file $root gnatmake]
!         if { $file != "" } {
!             set GM "$file -I$root/ada/rts --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs --GCC=$root/xgcc -margs";
!         }
!     }
! 
!     if {$GM == ""} {
!         set GM [transform gnatmake]
      }
! 
!     return $GM
  }
  
  proc find_nm {} {
--- 709,729 ----
  proc find_gnatmake {} {
      global tool_root_dir
  
      if ![is_remote host] {
! 	set file [lookfor_file $tool_root_dir gnatmake]
! 	if { $file == "" } {
! 	    set file [lookfor_file $tool_root_dir gcc/gnatmake]
! 	}
! 	if { $file != "" } {
! 	    set root [file dirname $file]
! 	    set CC "$file -I$root/ada/rts --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs --GCC=$root/xgcc -B$root -margs";
! 	} else {
! 	    set CC [transform gnatmake]
! 	}
!     } else {
! 	set CC [transform gnatmake]
      }
!     return $CC
  }
  
  proc find_nm {} {

Attachment: gnat.exp
Description: Text document

Attachment: gnat-dg.exp
Description: Text document

Attachment: dg.exp
Description: Text document

Attachment: specs.exp
Description: Text document

Attachment: style.exp
Description: Text document


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