From fc159ae11b8797b777f1fb26dfa5dc1ac29274df Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@cygnus.com>
Date: Mon, 6 Mar 2000 06:05:02 +0000
Subject: re GNATS gcj/124 (protected constructor for InvocationTargetException
 still visible)

	* lib/libjava.exp (test_libjava): Document `shouldfail' token.
	(test_libjava_from_source): Handle `shouldfail' case.
	(test_libjava_from_javac): Likewise.

	Test for PR libgcj/124:
	* libjava.compile/PR124.java: New file.
	* libjava.compile/PR124.xfail: New file.

From-SVN: r32353
---
 libjava/testsuite/ChangeLog                   | 10 +++++++
 libjava/testsuite/Makefile.in                 |  4 +--
 libjava/testsuite/lib/libjava.exp             | 39 ++++++++++++++++++++++++---
 libjava/testsuite/libjava.compile/PR124.java  |  9 +++++++
 libjava/testsuite/libjava.compile/PR124.xfail |  1 +
 5 files changed, 58 insertions(+), 5 deletions(-)
 create mode 100644 libjava/testsuite/libjava.compile/PR124.java
 create mode 100644 libjava/testsuite/libjava.compile/PR124.xfail

(limited to 'libjava')

diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
index 8940bfc..7d393bc 100644
--- a/libjava/testsuite/ChangeLog
+++ b/libjava/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2000-03-05  Tom Tromey  <tromey@cygnus.com>
+
+	* lib/libjava.exp (test_libjava): Document `shouldfail' token.
+	(test_libjava_from_source): Handle `shouldfail' case.
+	(test_libjava_from_javac): Likewise.
+
+	Test for PR libgcj/124:
+	* libjava.compile/PR124.java: New file.
+	* libjava.compile/PR124.xfail: New file.
+
 2000-03-05  Anthony Green  <green@redhat.com>
 
 	* libjava.lang/PR141.java: New file.
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index 614f14f..ed58a1f 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -136,7 +136,7 @@ DIST_COMMON =  ChangeLog Makefile.am Makefile.in
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
@@ -164,7 +164,7 @@ distdir: $(DISTFILES)
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
+	    cp -pr $$/$$file $(distdir)/$$file; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
index 341b2de..797741b 100644
--- a/libjava/testsuite/lib/libjava.exp
+++ b/libjava/testsuite/lib/libjava.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1998, 1999 Red Hat, Inc.
+# Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
 
 load_lib "libgloss.exp"
 
@@ -275,6 +275,11 @@ proc libjava_arguments {{mode compile}} {
 #   `xfail-gcj'   compilation from source will fail
 #   `xfail-javac' compilation with javac will fail
 #   `xfail-gcjC'  compilation with gcj -C will fail
+#   `shouldfail'  compilation from source is supposed to fail
+#                 This is different from xfail, which marks a known
+#                 failure that we just havne't fixed.
+#                 A compilation marked this way should fail with any
+#                 front end.
 #   `xfail-byte'  compilation from bytecode will fail
 #   `xfail-exec'  exec will fail
 #   `xfail-output' output will be wrong
@@ -334,6 +339,12 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
     }
     if { $x != "" } {
 	verbose "target_compile failed: $x" 2
+
+	if {[info exists opts(shouldfail)]} {
+	    pass "$errname compilation from source"
+	    return
+	}
+
 	fail "$errname compilation from source"
 	if {[info exists opts(xfail-gcj)] || ! [info exists opts(no-exec)]} {
 	    setup_xfail "*-*-*"
@@ -341,7 +352,11 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
 	    setup_xfail "*-*-*"
 	    fail "$errname output from source compiled test"
 	}
-	return;
+	return
+    }
+    if {[info exists opts(shouldfail)]} {
+	fail "$errname compilation from source"
+	return
     }
     pass "$errname compilation from source"
 
@@ -409,6 +424,11 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
 #   `xfail-gcj'   compilation from source will fail
 #   `xfail-javac' compilation with javac will fail
 #   `xfail-gcjC'  compilation with gcj -C will fail
+#   `shouldfail'  compilation from source is supposed to fail
+#                 This is different from xfail, which marks a known
+#                 failure that we just havne't fixed.
+#                 A compilation marked this way should fail with any
+#                 front end.
 #   `xfail-byte'  compilation from bytecode will fail
 #   `xfail-exec'  exec will fail
 #   `xfail-output' output will be wrong
@@ -443,6 +463,10 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
 	setup_xfail *-*-*
     }
     if {! $bc_ok} then {
+	if {[info exists opts(shouldfail)]} {
+	    pass "$errname byte compilation"
+	    return
+	}
 	fail "$errname byte compilation"
 	setup_xfail "*-*-*"
 	fail "$errname compilation from bytecode"
@@ -454,6 +478,10 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
 	}
 	return
     }
+    if {[info exists opts(shouldfail)]} {
+	fail "$errname byte compilation"
+	return
+    }
     pass "$errname byte compilation"
 
     # Find name to use for --main, and name of all class files.
@@ -607,10 +635,15 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
 # Run the test specified by srcfile and resultfile. compile_args and
 # exec_args are options telling this proc how to work.
 #   `no-link'     don't try to link the program
-#   `no-exec' don't try to run the test
+#   `no-exec'     don't try to run the test
 #   `xfail-gcj'   compilation from source will fail
 #   `xfail-javac' compilation with javac will fail
 #   `xfail-gcjC'  compilation with gcj -C will fail
+#   `shouldfail'  compilation from source is supposed to fail
+#                 This is different from xfail, which marks a known
+#                 failure that we just havne't fixed.
+#                 A compilation marked this way should fail with any
+#                 front end.
 #   `xfail-byte'  compilation from bytecode will fail
 #   `xfail-exec'  exec will fail
 #   `xfail-output' output will be wrong
diff --git a/libjava/testsuite/libjava.compile/PR124.java b/libjava/testsuite/libjava.compile/PR124.java
new file mode 100644
index 0000000..2ec1fe9
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/PR124.java
@@ -0,0 +1,9 @@
+import java.lang.reflect.*;
+
+public class PR124
+{
+  public static void main (String[] args)
+  {
+    System.out.println (new InvocationTargetException ());
+  }
+}
diff --git a/libjava/testsuite/libjava.compile/PR124.xfail b/libjava/testsuite/libjava.compile/PR124.xfail
new file mode 100644
index 0000000..e3b083b
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/PR124.xfail
@@ -0,0 +1 @@
+shouldfail
-- 
cgit v1.1