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
commit 0a4faf4677564c8244ed0bc120742e6d4b0c3b0d Author: Gary David Gregory (Code signing key) <[email protected]> AuthorDate: Fri Oct 28 14:56:23 2022 -0400 Shrink in-memory resources after some tests --- .../java/org/apache/bcel/verifier/Verifier.java | 12 +++++----- .../bcel/verifier/AbstractVerifierTestCase.java | 26 +++++++++++++--------- .../org/apache/bcel/verifier/VerifierTestCase.java | 14 ++++++++---- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/apache/bcel/verifier/Verifier.java b/src/main/java/org/apache/bcel/verifier/Verifier.java index bea57220..c8ab2746 100644 --- a/src/main/java/org/apache/bcel/verifier/Verifier.java +++ b/src/main/java/org/apache/bcel/verifier/Verifier.java @@ -104,9 +104,11 @@ public class Verifier { /** * The name of the class this verifier operates on. */ - private final String classname; + private final String className; + /** A Pass1Verifier for this Verifier instance. */ private Pass1Verifier p1v; + /** A Pass2Verifier for this Verifier instance. */ private Pass2Verifier p2v; @@ -122,7 +124,7 @@ public class Verifier { * @see VerifierFactory */ Verifier(final String fullyQualifiedClassName) { - classname = fullyQualifiedClassName; + className = fullyQualifiedClassName; } /** Returns the VerificationResult for the given pass. */ @@ -182,7 +184,7 @@ public class Verifier { * @see VerifierFactory */ public final String getClassName() { - return classname; + return className; } /** @@ -204,13 +206,13 @@ public class Verifier { for (final Pass3aVerifier pv : p3avs.values()) { final int meth = pv.getMethodNo(); for (final String element : pv.getMessages()) { - messages.add("Pass 3a, method " + meth + " ('" + org.apache.bcel.Repository.lookupClass(classname).getMethods()[meth] + "'): " + element); + messages.add("Pass 3a, method " + meth + " ('" + org.apache.bcel.Repository.lookupClass(className).getMethods()[meth] + "'): " + element); } } for (final Pass3bVerifier pv : p3bvs.values()) { final int meth = pv.getMethodNo(); for (final String element : pv.getMessages()) { - messages.add("Pass 3b, method " + meth + " ('" + org.apache.bcel.Repository.lookupClass(classname).getMethods()[meth] + "'): " + element); + messages.add("Pass 3b, method " + meth + " ('" + org.apache.bcel.Repository.lookupClass(className).getMethods()[meth] + "'): " + element); } } diff --git a/src/test/java/org/apache/bcel/verifier/AbstractVerifierTestCase.java b/src/test/java/org/apache/bcel/verifier/AbstractVerifierTestCase.java index 63cb80d7..d3465784 100644 --- a/src/test/java/org/apache/bcel/verifier/AbstractVerifierTestCase.java +++ b/src/test/java/org/apache/bcel/verifier/AbstractVerifierTestCase.java @@ -22,20 +22,26 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.bcel.Repository; import org.apache.bcel.classfile.JavaClass; +import org.junit.jupiter.api.AfterEach; public abstract class AbstractVerifierTestCase { public static final String TEST_PACKAGE = AbstractVerifierTestCase.class.getPackage().getName() + ".tests."; + @AfterEach + public void afterEach() { + VerifierFactory.clear(); + } + /** * Asserts that the verification of the given class is OK. If it isn't it throws an AssertionFailedError with the given * message. * - * @param classname simple classname of the class to verify + * @param className simple class name of the class to verify * @param message message displayed if assertion fails */ - public void assertVerifyOK(final String classname, final String message) throws ClassNotFoundException { - final String testClassname = TEST_PACKAGE + classname; + public void assertVerifyOK(final String className, final String message) throws ClassNotFoundException { + final String testClassname = TEST_PACKAGE + className; assertTrue(doAllPasses(testClassname), message); } @@ -43,25 +49,25 @@ public abstract class AbstractVerifierTestCase { * Asserts that the verification of the given class is rejected. If it isn't it throws an AssertionFailedError with the * given message. * - * @param classname simple classname of the class to verify + * @param className simple class name of the class to verify * @param message message displayed if assertion fails */ - public void assertVerifyRejected(final String classname, final String message) throws ClassNotFoundException { - final String testClassname = TEST_PACKAGE + classname; + public void assertVerifyRejected(final String className, final String message) throws ClassNotFoundException { + final String testClassname = TEST_PACKAGE + className; assertFalse(doAllPasses(testClassname), message); } /** * Executes all the verification on the given class. * - * @param classname name of the class to verify + * @param className name of the class to verify * @return false if the verification fails, true otherwise */ - public boolean doAllPasses(final String classname) throws ClassNotFoundException { - final JavaClass jc = Repository.lookupClass(classname); + public boolean doAllPasses(final String className) throws ClassNotFoundException { + final JavaClass jc = Repository.lookupClass(className); final int nbMethods = jc.getMethods().length; - final Verifier verifier = VerifierFactory.getVerifier(classname); + final Verifier verifier = VerifierFactory.getVerifier(className); VerificationResult result = verifier.doPass1(); if (result.getStatus() != VerificationResult.VERIFIED_OK) { return false; diff --git a/src/test/java/org/apache/bcel/verifier/VerifierTestCase.java b/src/test/java/org/apache/bcel/verifier/VerifierTestCase.java index 4e99c524..705bbe58 100644 --- a/src/test/java/org/apache/bcel/verifier/VerifierTestCase.java +++ b/src/test/java/org/apache/bcel/verifier/VerifierTestCase.java @@ -21,21 +21,27 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Collection; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; public class VerifierTestCase { + @AfterEach + public void afterEach() { + VerifierFactory.clear(); + } + @Test public void testDefaultMethodValidation() { - final String classname = Collection.class.getName(); + final String className = Collection.class.getName(); - final Verifier verifier = VerifierFactory.getVerifier(classname); + final Verifier verifier = VerifierFactory.getVerifier(className); VerificationResult result = verifier.doPass1(); - assertEquals(VerificationResult.VERIFIED_OK, result.getStatus(), "Pass 1 verification of " + classname + " failed: " + result.getMessage()); + assertEquals(VerificationResult.VERIFIED_OK, result.getStatus(), "Pass 1 verification of " + className + " failed: " + result.getMessage()); result = verifier.doPass2(); - assertEquals(VerificationResult.VERIFIED_OK, result.getStatus(), "Pass 2 verification of " + classname + " failed: " + result.getMessage()); + assertEquals(VerificationResult.VERIFIED_OK, result.getStatus(), "Pass 2 verification of " + className + " failed: " + result.getMessage()); } }
