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
This commit is contained in:
parent
6ea868b758
commit
a2139e0c48
@ -1,7 +1,22 @@
|
||||
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
|
||||
#
|
||||
|
52
libjava/testsuite/libjava.lang/ArrayStore.java
Normal file
52
libjava/testsuite/libjava.lang/ArrayStore.java
Normal file
@ -0,0 +1,52 @@
|
||||
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";
|
||||
}
|
||||
}
|
4
libjava/testsuite/libjava.lang/ArrayStore.out
Normal file
4
libjava/testsuite/libjava.lang/ArrayStore.out
Normal file
@ -0,0 +1,4 @@
|
||||
java.lang.ArrayIndexOutOfBoundsException
|
||||
java.lang.ArrayStoreException
|
||||
java.lang.ArrayIndexOutOfBoundsException
|
||||
foobar
|
1
libjava/testsuite/libjava.lang/ArrayStore.xfail
Normal file
1
libjava/testsuite/libjava.lang/ArrayStore.xfail
Normal file
@ -0,0 +1 @@
|
||||
xfail-byte-output
|
31
libjava/testsuite/libjava.lang/ArrayStore2.java
Normal file
31
libjava/testsuite/libjava.lang/ArrayStore2.java
Normal file
@ -0,0 +1,31 @@
|
||||
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();
|
||||
}
|
||||
}
|
3
libjava/testsuite/libjava.lang/ArrayStore2.out
Normal file
3
libjava/testsuite/libjava.lang/ArrayStore2.out
Normal file
@ -0,0 +1,3 @@
|
||||
index
|
||||
rhs
|
||||
java.lang.ArrayIndexOutOfBoundsException
|
1
libjava/testsuite/libjava.lang/ArrayStore2.xfail
Normal file
1
libjava/testsuite/libjava.lang/ArrayStore2.xfail
Normal file
@ -0,0 +1 @@
|
||||
xfail-source-output
|
Loading…
Reference in New Issue
Block a user