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 20992bf Better tests. 20992bf is described below commit 20992bfab627d57e74e4623a09db325a244e7d05 Author: Gary Gregory <gardgreg...@gmail.com> AuthorDate: Sat Jul 6 14:58:08 2019 -0400 Better tests. --- .../java/org/apache/bcel/verifier/Verifier.java | 73 ++++++++++++---------- .../apache/bcel/verifier/JiraBcel291TestCase.java | 4 +- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/src/main/java/org/apache/bcel/verifier/Verifier.java b/src/main/java/org/apache/bcel/verifier/Verifier.java index c14457e..2dd6087 100644 --- a/src/main/java/org/apache/bcel/verifier/Verifier.java +++ b/src/main/java/org/apache/bcel/verifier/Verifier.java @@ -193,44 +193,17 @@ public class Verifier { public static void main( final String[] args ) { System.out .println("JustIce by Enver Haase, (C) 2001-2002.\n<http://bcel.sourceforge.net>\n<https://commons.apache.org/bcel>\n"); - for (int k = 0; k < args.length; k++) { + for (int index = 0; index < args.length; index++) { try { - if (args[k].endsWith(".class")) { - final int dotclasspos = args[k].lastIndexOf(".class"); + if (args[index].endsWith(".class")) { + final int dotclasspos = args[index].lastIndexOf(".class"); if (dotclasspos != -1) { - args[k] = args[k].substring(0, dotclasspos); + args[index] = args[index].substring(0, dotclasspos); } } - args[k] = args[k].replace('/', '.'); - System.out.println("Now verifying: " + args[k] + "\n"); - final Verifier v = VerifierFactory.getVerifier(args[k]); - VerificationResult vr; - vr = v.doPass1(); - System.out.println("Pass 1:\n" + vr); - vr = v.doPass2(); - System.out.println("Pass 2:\n" + vr); - if (vr == VerificationResult.VR_OK) { - final JavaClass jc = org.apache.bcel.Repository.lookupClass(args[k]); - for (int i = 0; i < jc.getMethods().length; i++) { - vr = v.doPass3a(i); - System.out.println("Pass 3a, method number " + i + " ['" - + jc.getMethods()[i] + "']:\n" + vr); - vr = v.doPass3b(i); - System.out.println("Pass 3b, method number " + i + " ['" - + jc.getMethods()[i] + "']:\n" + vr); - } - } - System.out.println("Warnings:"); - final String[] warnings = v.getMessages(); - if (warnings.length == 0) { - System.out.println("<none>"); - } - for (final String warning : warnings) { - System.out.println(warning); - } - System.out.println("\n"); - // avoid swapping. - v.flush(); + args[index] = args[index].replace('/', '.'); + System.out.println("Now verifying: " + args[index] + "\n"); + verifyType(args[index]); org.apache.bcel.Repository.clearCache(); System.gc(); } catch (final ClassNotFoundException e) { @@ -238,4 +211,36 @@ public class Verifier { } } } + + + static void verifyType(final String fullyQualifiedClassName) throws ClassNotFoundException { + final Verifier verifier = VerifierFactory.getVerifier(fullyQualifiedClassName); + VerificationResult verificationResult; + verificationResult = verifier.doPass1(); + System.out.println("Pass 1:\n" + verificationResult); + verificationResult = verifier.doPass2(); + System.out.println("Pass 2:\n" + verificationResult); + if (verificationResult == VerificationResult.VR_OK) { + final JavaClass jc = org.apache.bcel.Repository.lookupClass(fullyQualifiedClassName); + for (int i = 0; i < jc.getMethods().length; i++) { + verificationResult = verifier.doPass3a(i); + System.out.println("Pass 3a, method number " + i + " ['" + + jc.getMethods()[i] + "']:\n" + verificationResult); + verificationResult = verifier.doPass3b(i); + System.out.println("Pass 3b, method number " + i + " ['" + + jc.getMethods()[i] + "']:\n" + verificationResult); + } + } + System.out.println("Warnings:"); + final String[] warnings = verifier.getMessages(); + if (warnings.length == 0) { + System.out.println("<none>"); + } + for (final String warning : warnings) { + System.out.println(warning); + } + System.out.println("\n"); + // avoid swapping. + verifier.flush(); + } } diff --git a/src/test/java/org/apache/bcel/verifier/JiraBcel291TestCase.java b/src/test/java/org/apache/bcel/verifier/JiraBcel291TestCase.java index 8337c8b..4de31d8 100644 --- a/src/test/java/org/apache/bcel/verifier/JiraBcel291TestCase.java +++ b/src/test/java/org/apache/bcel/verifier/JiraBcel291TestCase.java @@ -25,7 +25,7 @@ import org.junit.Test; public class JiraBcel291TestCase { @Test - public void test() { - Verifier.main(new String[] { "org/apache/bcel/verifier/tests/JiraBcel291TestFixture" }); + public void test() throws ClassNotFoundException { + Verifier.verifyType("org.apache.bcel.verifier.tests.JiraBcel291TestFixture"); } }