diff options
-rw-r--r-- | weaver/testsrc/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateTest.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateTest.java b/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateTest.java index e5b830b25..0450aedeb 100644 --- a/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateTest.java +++ b/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateTest.java @@ -278,11 +278,21 @@ public class ReflectionBasedReferenceTypeDelegateTest extends TestCase { } assertTrue("Errors:"+errors.toString(),errors.length()==0); + // the good old ibm vm seems to offer clinit through its reflection support (see pr145322) + if (rms1.length==rms2.length) return; if (barfIfClinitMissing) { // the numbers must be exact assertEquals(rms1.length,rms2.length); } else { // the numbers can be out by one in favour of bcel + if (rms1.length!=(rms2.length+1)) { + for (int i = 0; i < rms1.length; i++) { + System.err.println("bcel"+i+" is "+rms1[i]); + } + for (int i = 0; i < rms2.length; i++) { + System.err.println("refl"+i+" is "+rms2[i]); + } + } assertTrue("Should be one extra (clinit) in BCEL case, but bcel="+rms1.length+" reflect="+rms2.length,rms1.length==rms2.length+1); } } |