Commit a2139e0c by Bryce McKinlay Committed by Bryce McKinlay

libjava.exp: Add "xfail-byte-output" and "xfail-source-output".

	* lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
	Don't display expected and actual output for a failed output test.

	* libjava.lang/ArrayStore.java: New file.
	* libjava.lang/ArrayStore.out: New file.
	* libjava.lang/ArrayStore.xfail: New file. xfail-byte-output.
	* libjava.lang/ArrayStore2.java: New file.
	* libjava.lang/ArrayStore2.out: New file.
	* libjava.lang/ArrayStore2.xfail: New file. xfail-source-output.

From-SVN: r49888
parent 6ea868b7
2002-02-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
Don't display expected and actual output for a failed output test.
* libjava.lang/ArrayStore.java: New file.
* libjava.lang/ArrayStore.out: New file.
* libjava.lang/ArrayStore.xfail: New file. xfail-byte-output.
* libjava.lang/ArrayStore2.java: New file.
* libjava.lang/ArrayStore2.out: New file.
* libjava.lang/ArrayStore2.xfail: New file. xfail-source-output.
2002-02-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* libjava.lang/err7.xfail: Removed.
* libjava.lang/err8.xfail: Removed.
* libjava.lang/ArrayStore.java: New file.
* libjava.lang/ArrayStore.out: New file.
2002-02-10 Tom Tromey <tromey@redhat.com>
......
......@@ -510,12 +510,13 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
if {[info exists opts(xfail-output)]} {
setup_xfail *-*-*
}
if {[info exists opts(xfail-source-output)]} {
setup_xfail *-*-*
}
if { $passed == 1 } {
pass "$errname output from source compiled test"
eval gcj_cleanup $removeList
} else {
clone_output "expected was $expected"
clone_output "output was $output"
fail "$errname output from source compiled test"
}
close $id;
......@@ -737,6 +738,9 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
if {[info exists opts(xfail-output)]} {
setup_xfail *-*-*
}
if {[info exists opts(xfail-byte-output)]} {
setup_xfail *-*-*
}
if {$options == "regexp_match"} {
if [regexp $expected $output] {
set passed 1;
......@@ -750,8 +754,6 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
pass "$errname output from bytecode->native test"
eval gcj_cleanup $removeList
} else {
clone_output "expected was $expected"
clone_output "output was $output"
fail "$errname output from bytecode->native test"
}
close $id;
......@@ -774,6 +776,10 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
# `xfail-exec' exec will fail
# `xfail-output'
# output will be wrong
# `xfail-byte-output'
# output will be wrong when compiled from bytecode
# `xfail-source-output'
# output will be wrong when compiled from source code
# `need-threads'
# test relies on thread support
#
......
public class ArrayStore
{
public static void main(String[] args)
{
ArrayStore s = new ArrayStore();
/* Check that bounds check takes precedence over array store check. */
try
{
s.a(new String[1]);
}
catch (Exception x)
{
System.out.println (x.getClass().getName());
}
try
{
s.a(new String[2]);
}
catch (Exception x)
{
System.out.println (x.getClass().getName());
}
/* Check that += operator on String[] element works and throws bounds
exception. */
try
{
s.b(new String[1]);
}
catch (Exception x)
{
System.out.println (x.getClass().getName());
}
String[] sb = new String[2];
sb[1] = "foo";
s.b(sb);
System.out.println (sb[1]);
}
void a(Object[] oa)
{
oa[1] = new Integer(2);
}
void b(String[] sa)
{
sa[1] += "bar";
}
}
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayStoreException
java.lang.ArrayIndexOutOfBoundsException
foobar
public class ArrayStore2
{
public static void main(String[] args)
{
new ArrayStore2().a(new Object[2], 3);
}
void a(Object[] oa, int i)
{
try
{
oa[index()] = obj();
}
catch (Exception x)
{
System.out.println (x.getClass().getName());
}
}
int index()
{
System.out.println ("index");
return 3;
}
Object obj()
{
System.out.println ("rhs");
return new Object();
}
}
index
rhs
java.lang.ArrayIndexOutOfBoundsException
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment