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 2019/07/06 18:58:12 UTC

[commons-bcel] branch master updated: Better tests.

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 <ga...@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");
     }
 }