You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/17 12:33:32 UTC
[commons-bcel] branch master updated: Better test (disabled and failing)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-bcel.git
The following commit(s) were added to refs/heads/master by this push:
new 72f73664 Better test (disabled and failing)
72f73664 is described below
commit 72f736642ee5ad2cfe88dd0cb99c04a9bb09531a
Author: Gary David Gregory (Code signing key) <gg...@apache.org>
AuthorDate: Sat Jun 17 08:33:28 2023 -0400
Better test (disabled and failing)
---
.../apache/bcel/verifier/JiraBcel369TestCase.java | 83 +++++++++++++++++++++
src/test/resources/issue369/Test.class | Bin 274 -> 283 bytes
2 files changed, 83 insertions(+)
diff --git a/src/test/java/org/apache/bcel/verifier/JiraBcel369TestCase.java b/src/test/java/org/apache/bcel/verifier/JiraBcel369TestCase.java
index c74b6152..bfd84f28 100644
--- a/src/test/java/org/apache/bcel/verifier/JiraBcel369TestCase.java
+++ b/src/test/java/org/apache/bcel/verifier/JiraBcel369TestCase.java
@@ -18,6 +18,7 @@
package org.apache.bcel.verifier;
import org.apache.bcel.AbstractTestCase;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
/**
@@ -30,7 +31,89 @@ public class JiraBcel369TestCase extends AbstractTestCase {
Verifier.verifyType(org.apache.bcel.verifier.JiraBcel369TestFixture.class.getName());
}
+ /**
+ * 3.7.0 fails with
+ * <pre>{@code
+ * org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL ERROR: Some RuntimeException occurred while verify()ing class 'issue369.Test', method 'public void <init>(int arg1)'. Original RuntimeException's stack trace:
+---
+org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL ERROR: outFrame not set! This:
+ 24: return [InstructionContext]
+ExecutionChain: 24: return [InstructionContext]
+OutFrames: '{ 7: jsr -> 19 [InstructionContext]=Local Variables:
+0: issue369.Test
+1: int
+2: <unknown object>
+3: <return address targeting 10: goto[167](3) -> 34>
+4: <unknown object>
+OperandStack:
+Slots used: 0 MaxStack: 1.
+, 14: jsr -> 19 [InstructionContext]=Local Variables:
+0: issue369.Test
+1: int
+2: java.lang.Throwable
+3: <return address targeting 17: aload_2[44](1)>
+4: <unknown object>
+OperandStack:
+Slots used: 0 MaxStack: 1.
+}'.
+ at org.apache.bcel.verifier.structurals.ControlFlowGraph$InstructionContextImpl.getOutFrame(ControlFlowGraph.java:282)
+ at org.apache.bcel.verifier.structurals.Pass3bVerifier.circulationPump(Pass3bVerifier.java:275)
+ at org.apache.bcel.verifier.structurals.Pass3bVerifier.do_verify(Pass3bVerifier.java:386)
+ at org.apache.bcel.verifier.PassVerifier.verify(PassVerifier.java:98)
+ at org.apache.bcel.verifier.Verifier.doPass3b(Verifier.java:166)
+ at org.apache.bcel.verifier.Verifier.verifyType(Verifier.java:90)
+ at org.apache.bcel.verifier.JiraBcel369TestCase.testCompiledClass(JiraBcel369TestCase.java:35)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
+ ...
+ at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
+---
+
+ at org.apache.bcel.verifier.structurals.Pass3bVerifier.do_verify(Pass3bVerifier.java:398)
+ at org.apache.bcel.verifier.PassVerifier.verify(PassVerifier.java:98)
+ at org.apache.bcel.verifier.Verifier.doPass3b(Verifier.java:166)
+ at org.apache.bcel.verifier.Verifier.verifyType(Verifier.java:90)
+ at org.apache.bcel.verifier.JiraBcel369TestCase.testCompiledClass(JiraBcel369TestCase.java:35)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
+ ...
+ at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
+Caused by: org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL ERROR: outFrame not set! This:
+ 24: return [InstructionContext]
+ExecutionChain: 24: return [InstructionContext]
+OutFrames: '{ 7: jsr -> 19 [InstructionContext]=Local Variables:
+0: issue369.Test
+1: int
+2: <unknown object>
+3: <return address targeting 10: goto[167](3) -> 34>
+4: <unknown object>
+OperandStack:
+Slots used: 0 MaxStack: 1.
+, 14: jsr -> 19 [InstructionContext]=Local Variables:
+0: issue369.Test
+1: int
+2: java.lang.Throwable
+3: <return address targeting 17: aload_2[44](1)>
+4: <unknown object>
+OperandStack:
+Slots used: 0 MaxStack: 1.
+}'.
+ at org.apache.bcel.verifier.structurals.ControlFlowGraph$InstructionContextImpl.getOutFrame(ControlFlowGraph.java:282)
+ at org.apache.bcel.verifier.structurals.Pass3bVerifier.circulationPump(Pass3bVerifier.java:275)
+ at org.apache.bcel.verifier.structurals.Pass3bVerifier.do_verify(Pass3bVerifier.java:386)
+ ... 74 more
+ * }</pre>
+ *
+ * @throws ClassNotFoundException
+ */
@Test
+ @Disabled
public void testCompiledClass() throws ClassNotFoundException {
Verifier.verifyType("issue369.Test");
}
diff --git a/src/test/resources/issue369/Test.class b/src/test/resources/issue369/Test.class
index 2c9476c0..78c100c0 100644
Binary files a/src/test/resources/issue369/Test.class and b/src/test/resources/issue369/Test.class differ