This isn't fully tested yet, but I wanted to check on my approach for
reporting internal compiler errors in the libjava testsuite. The test
that David Daney added for me doesn't ICE on powerpc*-linux so I had
to fake it by looking for another string, but it seems to work for
libjava/testsuite/libjava.compile.
I modified bytecompile_file so that instead of returning 0 for fail,
1 for success, it now returns 0 for success, 1 for failure, 2 for
failure with "internal compiler error" in the compiler output. Since
I don't have a libjava test that ICEs, I don't even know if that's the
string gcj uses, or whether it's appropriate to look for it from
bytecompile_file as well as from libjava_tcompile. Currently only
lib/libjava.exp handles a 2 from bytecompile_file; other places that
call it were modified to handle 0 instead of 1 for "pass", but it
would be easy to change them to report ICEs as well.
Am I on the right track?
2006-05-12 Janis Johnson <janis187@us.ibm.com>
PR testsuite/24128:
* testsuite/lib/libjava.exp (bytecompile_file): Change return value
to 0 for pass, 1 for fail, 2 for ICE.
(test_libjava_from_source): Detect and report ICE.
(test_libjava_from_javac): Ditto.
* testsuite/libjava.cni/cni.exp (gcj_cni_test_one): Handle new
return value from bytecompile_file.
* testsuite/libjava.mauve/mauve.exp (test_mauve): Ditto.
(test_mauve_sim): Ditto.
* testsuite/libjava.special/special.exp (gcj_special_run): Ditto.
* testsuite/libjava.jni/jni.exp (gcj_jni_test_one): Ditto.
(gcj_jni_invocation_test_one): Ditto.
* testsuite/libjava.loader/loader.exp (gcj_loader_run): Ditto.