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 29cac02a Refactor some tests
29cac02a is described below

commit 29cac02ae4b995bfc8d0ef1994188f709175264e
Author: Gary David Gregory (Code signing key) <[email protected]>
AuthorDate: Thu Nov 10 15:51:00 2022 -0500

    Refactor some tests
---
 .../bcel/classfile/JDKClassDumpTestCase.java       | 27 ++++++++-------
 .../java/org/apache/bcel/generic/JavaHome.java     | 40 +++++++++++++++-------
 .../bcel/generic/JdkGenericDumpTestCase.java       |  6 ++--
 .../bcel/util/ModularRuntimeImageTestCase.java     |  8 ++---
 4 files changed, 49 insertions(+), 32 deletions(-)

diff --git a/src/test/java/org/apache/bcel/classfile/JDKClassDumpTestCase.java 
b/src/test/java/org/apache/bcel/classfile/JDKClassDumpTestCase.java
index 17bbedcb..723eb1ee 100644
--- a/src/test/java/org/apache/bcel/classfile/JDKClassDumpTestCase.java
+++ b/src/test/java/org/apache/bcel/classfile/JDKClassDumpTestCase.java
@@ -24,6 +24,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.InputStream;
+import java.nio.file.Path;
 import java.util.Enumeration;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
@@ -52,24 +53,26 @@ public class JDKClassDumpTestCase {
         }
     }
 
-    private void testJar(final JarFile jar) throws Exception {
-        System.out.println("Parsing " + jar.getName());
-        final Enumeration<JarEntry> en = jar.entries();
-        while (en.hasMoreElements()) {
-            final JarEntry e = en.nextElement();
-            final String name = e.getName();
-            if (name.endsWith(".class")) {
-                // System.out.println("Parsing " + name);
-                try (InputStream inputStream1 = jar.getInputStream(e); 
InputStream inputStream2 = jar.getInputStream(e);) {
-                    compare(new ClassParser(inputStream1, name).parse(), 
inputStream2, name);
+    private void testJar(final Path path) throws Exception {
+        try (final JarFile jar = new JarFile(path.toFile())) {
+            System.out.println("Parsing " + jar.getName());
+            final Enumeration<JarEntry> en = jar.entries();
+            while (en.hasMoreElements()) {
+                final JarEntry e = en.nextElement();
+                final String name = e.getName();
+                if (name.endsWith(".class")) {
+                    // System.out.println("Parsing " + name);
+                    try (InputStream inputStream1 = jar.getInputStream(e); 
InputStream inputStream2 = jar.getInputStream(e);) {
+                        compare(new ClassParser(inputStream1, name).parse(), 
inputStream2, name);
+                    }
                 }
             }
         }
     }
 
     @ParameterizedTest
-    @MethodSource("org.apache.bcel.generic.JavaHome#streamJarFiles")
-    public void testPerformance(final JarFile path) throws Exception {
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamJarPath")
+    public void testPerformance(final Path path) throws Exception {
         assertDoesNotThrow(() -> testJar(path));
     }
 
diff --git a/src/test/java/org/apache/bcel/generic/JavaHome.java 
b/src/test/java/org/apache/bcel/generic/JavaHome.java
index 98a35e49..c7558f4c 100644
--- a/src/test/java/org/apache/bcel/generic/JavaHome.java
+++ b/src/test/java/org/apache/bcel/generic/JavaHome.java
@@ -31,6 +31,7 @@ import java.util.HashSet;
 import java.util.Objects;
 import java.util.Set;
 import java.util.function.BiPredicate;
+import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 import java.util.stream.Stream;
 
@@ -87,8 +88,17 @@ public class JavaHome {
      *
      * @return a stream of JarFile.
      */
-    public static Stream<JarFile> streamJarFiles() {
-        return streamJavaHomes().flatMap(JavaHome::streamJarFilesByExt);
+    public static Stream<JarEntry> streamJarEntry() {
+        return streamJavaHome().flatMap(JavaHome::streamJarEntryByExt);
+    }
+
+    /**
+     * Used from {@code @MethodSource} for tests.
+     *
+     * @return a stream of JarFile.
+     */
+    public static Stream<JarFile> streamJarFile() {
+        return streamJavaHome().flatMap(JavaHome::streamJarFileByExt);
     }
 
     /**
@@ -96,8 +106,8 @@ public class JavaHome {
      *
      * @return a stream of Java jar paths.
      */
-    public static Stream<Path> streamJarPaths() {
-        return streamJavaHomes().flatMap(JavaHome::streamJarPathsByExt);
+    public static Stream<Path> streamJarPath() {
+        return streamJavaHome().flatMap(JavaHome::streamJarPathByExt);
     }
 
     /**
@@ -105,7 +115,7 @@ public class JavaHome {
      *
      * @return a stream of Java homes.
      */
-    public static Stream<JavaHome> streamJavaHomes() {
+    public static Stream<JavaHome> streamJavaHome() {
         return streamJavaHomeString().map(JavaHome::from);
     }
 
@@ -126,8 +136,8 @@ public class JavaHome {
      *
      * @return a stream of Java jar paths.
      */
-    public static Stream<ModularRuntimeImage> streamModularRuntimeImages() {
-        return streamJavaHomes().map(JavaHome::getModularRuntimeImage);
+    public static Stream<ModularRuntimeImage> streamModularRuntimeImage() {
+        return streamJavaHome().map(JavaHome::getModularRuntimeImage);
     }
 
     /**
@@ -135,8 +145,8 @@ public class JavaHome {
      *
      * @return a stream of Java jar paths.
      */
-    public static Stream<Path> streamModulePaths() {
-        return streamJavaHomes().flatMap(JavaHome::streamModulesByExt);
+    public static Stream<Path> streamModulePath() {
+        return streamJavaHome().flatMap(JavaHome::streamModuleByExt);
     }
 
     private static Stream<String> streamPropertyAndEnvVarValues(final String 
key) {
@@ -191,15 +201,19 @@ public class JavaHome {
         return find(10, (p, a) -> p.toString().endsWith(suffix));
     }
 
-    private Stream<JarFile> streamJarFilesByExt() {
-        return streamJarPathsByExt().map(this::toJarFile);
+    private Stream<JarEntry> streamJarEntryByExt() {
+        return streamJarFileByExt().flatMap(JarFile::stream);
+    }
+
+    private Stream<JarFile> streamJarFileByExt() {
+        return streamJarPathByExt().map(this::toJarFile);
     }
 
-    private Stream<Path> streamJarPathsByExt() {
+    private Stream<Path> streamJarPathByExt() {
         return streamEndsWith(".jar");
     }
 
-    private Stream<Path> streamModulesByExt() {
+    private Stream<Path> streamModuleByExt() {
         return streamEndsWith(".jmod");
     }
 
diff --git a/src/test/java/org/apache/bcel/generic/JdkGenericDumpTestCase.java 
b/src/test/java/org/apache/bcel/generic/JdkGenericDumpTestCase.java
index 44d0e988..2a9a3a5f 100644
--- a/src/test/java/org/apache/bcel/generic/JdkGenericDumpTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/JdkGenericDumpTestCase.java
@@ -170,20 +170,20 @@ public class JdkGenericDumpTestCase {
     }
 
     @ParameterizedTest
-    @MethodSource("org.apache.bcel.generic.JavaHome#streamJarPaths")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamJarPath")
     public void testJdkJars(final Path jarPath) throws Exception {
         testJar(jarPath);
     }
 
     @ParameterizedTest
-    @MethodSource("org.apache.bcel.generic.JavaHome#streamModulePaths")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamModulePath")
     @DisabledOnJre(value = JRE.JAVA_8)
     public void testJdkModules(final Path jmodPath) throws Exception {
         testJar(jmodPath);
     }
 
     @ParameterizedTest
-    @MethodSource("org.apache.bcel.generic.JavaHome#streamJavaHomes")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamJavaHome")
     public void testJreModules(final JavaHome javaHome) throws Exception {
         assumeTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
         try (final ModularRuntimeImage mri = 
javaHome.getModularRuntimeImage()) {
diff --git 
a/src/test/java/org/apache/bcel/util/ModularRuntimeImageTestCase.java 
b/src/test/java/org/apache/bcel/util/ModularRuntimeImageTestCase.java
index 19634479..3c986974 100644
--- a/src/test/java/org/apache/bcel/util/ModularRuntimeImageTestCase.java
+++ b/src/test/java/org/apache/bcel/util/ModularRuntimeImageTestCase.java
@@ -42,7 +42,7 @@ public class ModularRuntimeImageTestCase {
     }
 
     @ParameterizedTest
-    
@MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImages")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImage")
     public void testListJreModule(final ModularRuntimeImage 
modularRuntimeImage) throws IOException {
         final List<Path> listEntries = 
modularRuntimeImage.list(ModularRuntimeImage.MODULES_PATH + "/java.base");
         assertFalse(listEntries.isEmpty());
@@ -50,7 +50,7 @@ public class ModularRuntimeImageTestCase {
     }
 
     @ParameterizedTest
-    
@MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImages")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImage")
     public void testListJreModulePackageDir(final ModularRuntimeImage 
modularRuntimeImage) throws IOException {
         final List<Path> listEntries = 
modularRuntimeImage.list(ModularRuntimeImage.MODULES_PATH + 
"/java.base/java/lang");
         assertFalse(listEntries.isEmpty());
@@ -58,7 +58,7 @@ public class ModularRuntimeImageTestCase {
     }
 
     @ParameterizedTest
-    
@MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImages")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImage")
     public void testListJreModules(final ModularRuntimeImage 
modularRuntimeImage) throws IOException {
         final List<Path> listEntries = 
modularRuntimeImage.list(ModularRuntimeImage.MODULES_PATH);
         assertFalse(listEntries.isEmpty());
@@ -66,7 +66,7 @@ public class ModularRuntimeImageTestCase {
     }
 
     @ParameterizedTest
-    
@MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImages")
+    @MethodSource("org.apache.bcel.generic.JavaHome#streamModularRuntimeImage")
     public void testListJrePackages(final ModularRuntimeImage 
modularRuntimeImage) throws IOException {
         final List<Path> listEntries = 
modularRuntimeImage.list(ModularRuntimeImage.PACKAGES_PATH);
         assertFalse(listEntries.isEmpty());

Reply via email to