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) <ggreg...@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