From 1f6053ccded34cd78525d0473177ac3a2492aea0 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 10 Nov 2025 03:06:01 +0100 Subject: [PATCH] Convert tests to JUnit 5 and shared-verifier 2 --- source-release/pom.xml | 23 +++++++++++-------- .../apache/its/IT000BasicArchiveCreation.java | 14 +++++------ .../its/IT001ExcludeBuildOutputDirectory.java | 10 ++++---- ...02IncludeSrcDirWithBuildOutputDirName.java | 10 ++++---- .../its/IT003SharedResourceInclusion.java | 10 ++++---- .../java/org/apache/its/IT004IdeExcludes.java | 10 ++++---- .../its/IT005MiscellaneousExcludes.java | 10 ++++---- .../java/org/apache/its/IT006CiExcludes.java | 10 ++++---- .../ITExcludeSrcDirWithinBuildOutputDir.java | 10 ++++---- .../its/ITIncludeIdeFilesWithinSrcDir.java | 10 ++++---- .../java/org/apache/its/ITSingleModule.java | 14 +++++------ .../org/apache/its/ITZipAndTarCreation.java | 20 +++++++++------- .../java/org/apache/its/util/TestUtils.java | 21 ++++++++--------- .../maven-projects/zip-and-tar/pom.xml | 14 +++++------ 14 files changed, 96 insertions(+), 90 deletions(-) diff --git a/source-release/pom.xml b/source-release/pom.xml index 240b842..909a47f 100644 --- a/source-release/pom.xml +++ b/source-release/pom.xml @@ -41,16 +41,10 @@ under the License. ${mavenHome} - 3.7.1 + ${version.maven-assembly-plugin} - - junit - junit - 4.13.2 - test - org.codehaus.plexus plexus-utils @@ -59,13 +53,24 @@ under the License. org.apache.maven.shared maven-verifier - 1.8.0 + 2.0.0-M1 test org.codehaus.plexus plexus-archiver - 4.10.3 + 4.10.4 + test + + + commons-io + commons-io + 2.21.0 + test + + + org.junit.jupiter + junit-jupiter-api test diff --git a/source-release/src/test/java/org/apache/its/IT000BasicArchiveCreation.java b/source-release/src/test/java/org/apache/its/IT000BasicArchiveCreation.java index 9aeced0..a766b9e 100644 --- a/source-release/src/test/java/org/apache/its/IT000BasicArchiveCreation.java +++ b/source-release/src/test/java/org/apache/its/IT000BasicArchiveCreation.java @@ -25,16 +25,16 @@ import java.util.HashSet; import java.util.Set; -import junit.framework.Assert; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; import static org.apache.its.util.TestUtils.assertZipContents; import static org.apache.its.util.TestUtils.createVerifier; import static org.apache.its.util.TestUtils.getTestDir; +import static org.junit.jupiter.api.Assertions.assertFalse; public class IT000BasicArchiveCreation { @@ -46,14 +46,14 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept File testDir = getTestDir(BASENAME); Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); // make sure the tar did NOT get created by default File tarAssemblyFile = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.tar.gz"); - Assert.assertFalse("tar assembly should not have been created", tarAssemblyFile.exists()); + assertFalse(tarAssemblyFile.exists(), "tar assembly should not have been created"); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/IT001ExcludeBuildOutputDirectory.java b/source-release/src/test/java/org/apache/its/IT001ExcludeBuildOutputDirectory.java index 8e0a443..85f8037 100644 --- a/source-release/src/test/java/org/apache/its/IT001ExcludeBuildOutputDirectory.java +++ b/source-release/src/test/java/org/apache/its/IT001ExcludeBuildOutputDirectory.java @@ -24,9 +24,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/IT002IncludeSrcDirWithBuildOutputDirName.java b/source-release/src/test/java/org/apache/its/IT002IncludeSrcDirWithBuildOutputDirName.java index 706ec00..d468edb 100644 --- a/source-release/src/test/java/org/apache/its/IT002IncludeSrcDirWithBuildOutputDirName.java +++ b/source-release/src/test/java/org/apache/its/IT002IncludeSrcDirWithBuildOutputDirName.java @@ -24,9 +24,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/IT003SharedResourceInclusion.java b/source-release/src/test/java/org/apache/its/IT003SharedResourceInclusion.java index 7a6d7dc..708a41c 100644 --- a/source-release/src/test/java/org/apache/its/IT003SharedResourceInclusion.java +++ b/source-release/src/test/java/org/apache/its/IT003SharedResourceInclusion.java @@ -24,9 +24,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/IT004IdeExcludes.java b/source-release/src/test/java/org/apache/its/IT004IdeExcludes.java index 5f6697a..87a6136 100644 --- a/source-release/src/test/java/org/apache/its/IT004IdeExcludes.java +++ b/source-release/src/test/java/org/apache/its/IT004IdeExcludes.java @@ -25,9 +25,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -46,10 +46,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/IT005MiscellaneousExcludes.java b/source-release/src/test/java/org/apache/its/IT005MiscellaneousExcludes.java index a45c5d5..41190b7 100644 --- a/source-release/src/test/java/org/apache/its/IT005MiscellaneousExcludes.java +++ b/source-release/src/test/java/org/apache/its/IT005MiscellaneousExcludes.java @@ -24,9 +24,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/IT006CiExcludes.java b/source-release/src/test/java/org/apache/its/IT006CiExcludes.java index 82f02dc..f6c1f4f 100644 --- a/source-release/src/test/java/org/apache/its/IT006CiExcludes.java +++ b/source-release/src/test/java/org/apache/its/IT006CiExcludes.java @@ -25,9 +25,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromProject; import static org.apache.its.util.TestUtils.assertZipContents; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/ITExcludeSrcDirWithinBuildOutputDir.java b/source-release/src/test/java/org/apache/its/ITExcludeSrcDirWithinBuildOutputDir.java index 48bde54..b8f1872 100644 --- a/source-release/src/test/java/org/apache/its/ITExcludeSrcDirWithinBuildOutputDir.java +++ b/source-release/src/test/java/org/apache/its/ITExcludeSrcDirWithinBuildOutputDir.java @@ -24,9 +24,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/ITIncludeIdeFilesWithinSrcDir.java b/source-release/src/test/java/org/apache/its/ITIncludeIdeFilesWithinSrcDir.java index dc187d7..6111216 100644 --- a/source-release/src/test/java/org/apache/its/ITIncludeIdeFilesWithinSrcDir.java +++ b/source-release/src/test/java/org/apache/its/ITIncludeIdeFilesWithinSrcDir.java @@ -24,9 +24,9 @@ import java.util.HashSet; import java.util.Set; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -45,10 +45,10 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File assembly = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); diff --git a/source-release/src/test/java/org/apache/its/ITSingleModule.java b/source-release/src/test/java/org/apache/its/ITSingleModule.java index 525fe80..a9bdcff 100644 --- a/source-release/src/test/java/org/apache/its/ITSingleModule.java +++ b/source-release/src/test/java/org/apache/its/ITSingleModule.java @@ -24,15 +24,15 @@ import java.util.HashSet; import java.util.Set; -import junit.framework.Assert; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromProject; import static org.apache.its.util.TestUtils.assertZipContents; import static org.apache.its.util.TestUtils.createVerifier; import static org.apache.its.util.TestUtils.getTestDir; +import static org.junit.jupiter.api.Assertions.assertTrue; public class ITSingleModule { @@ -45,13 +45,13 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept Verifier verifier = createVerifier(testDir); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File zipAssemblyFile = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); - Assert.assertTrue("zip assembly should have been created", zipAssemblyFile.exists()); + assertTrue(zipAssemblyFile.exists(), "zip assembly should have been created"); Set required = new HashSet<>(); diff --git a/source-release/src/test/java/org/apache/its/ITZipAndTarCreation.java b/source-release/src/test/java/org/apache/its/ITZipAndTarCreation.java index 660dbc2..674546a 100644 --- a/source-release/src/test/java/org/apache/its/ITZipAndTarCreation.java +++ b/source-release/src/test/java/org/apache/its/ITZipAndTarCreation.java @@ -21,14 +21,14 @@ import java.io.File; import java.io.IOException; import java.net.URISyntaxException; +import java.nio.file.Files; import java.util.Collections; import java.util.HashSet; import java.util.Set; -import junit.framework.Assert; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; -import org.junit.Test; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; +import org.junit.jupiter.api.Test; import static org.apache.its.util.TestUtils.archivePathFromChild; import static org.apache.its.util.TestUtils.archivePathFromProject; @@ -36,6 +36,7 @@ import static org.apache.its.util.TestUtils.assertZipContents; import static org.apache.its.util.TestUtils.createVerifier; import static org.apache.its.util.TestUtils.getTestDir; +import static org.junit.jupiter.api.Assertions.assertTrue; public class ITZipAndTarCreation { @@ -47,17 +48,20 @@ public void execute() throws VerificationException, IOException, URISyntaxExcept File testDir = getTestDir(BASENAME); Verifier verifier = createVerifier(testDir); + // to avoid saving logs in current project dir + Files.createDirectories(testDir.toPath().resolve("target")); + verifier.setLogFileName("target/log.txt"); - verifier.executeGoal("package"); + verifier.addCliArgument("package"); + verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.resetStreams(); File tarAssemblyFile = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.tar.gz"); - Assert.assertTrue("tar assembly should have been created", tarAssemblyFile.exists()); + assertTrue(tarAssemblyFile.exists(), "tar assembly should have been created"); File zipAssemblyFile = new File(testDir, "target/" + BASENAME + "-" + VERSION + "-source-release.zip"); - Assert.assertTrue("zip assembly should have been created", zipAssemblyFile.exists()); + assertTrue(zipAssemblyFile.exists(), "zip assembly should have been created"); Set required = new HashSet<>(); diff --git a/source-release/src/test/java/org/apache/its/util/TestUtils.java b/source-release/src/test/java/org/apache/its/util/TestUtils.java index a8bcfb6..857ca77 100644 --- a/source-release/src/test/java/org/apache/its/util/TestUtils.java +++ b/source-release/src/test/java/org/apache/its/util/TestUtils.java @@ -28,16 +28,15 @@ import java.util.LinkedHashSet; import java.util.Set; import java.util.zip.ZipEntry; -import java.util.zip.ZipException; import java.util.zip.ZipFile; import org.apache.commons.compress.archivers.ArchiveEntry; -import org.apache.maven.it.VerificationException; -import org.apache.maven.it.Verifier; +import org.apache.maven.shared.verifier.VerificationException; +import org.apache.maven.shared.verifier.Verifier; import org.codehaus.plexus.archiver.tar.GZipTarFile; -import static junit.framework.Assert.assertTrue; -import static junit.framework.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; public class TestUtils { @@ -71,7 +70,7 @@ public static String archivePathFromProject(String artifactId, String version, S } public static void assertTarContents(Set required, Set banned, File assembly) throws IOException { - assertTrue("Assembly archive missing: " + assembly, assembly.isFile()); + assertTrue(assembly.isFile(), "Assembly archive missing: " + assembly); GZipTarFile tarFile = null; try { @@ -79,8 +78,7 @@ public static void assertTarContents(Set required, Set banned, F LinkedHashSet pathSet = new LinkedHashSet<>(); - for (@SuppressWarnings("unchecked") Enumeration enumeration = tarFile.getEntries(); - enumeration.hasMoreElements(); ) { + for (Enumeration enumeration = tarFile.getEntries(); enumeration.hasMoreElements(); ) { pathSet.add(enumeration.nextElement().getName()); } assertArchiveContents(required, banned, assembly.getAbsolutePath(), pathSet); @@ -91,9 +89,8 @@ public static void assertTarContents(Set required, Set banned, F } } - public static void assertZipContents(Set required, Set banned, File assembly) - throws ZipException, IOException { - assertTrue("Assembly archive missing: " + assembly, assembly.isFile()); + public static void assertZipContents(Set required, Set banned, File assembly) throws IOException { + assertTrue(assembly.isFile(), "Assembly archive missing: " + assembly); try (ZipFile zf = new ZipFile(assembly)) { LinkedHashSet pathSet = new LinkedHashSet<>(); @@ -123,7 +120,7 @@ private static void assertArchiveContents( } if (!missing.isEmpty() || !banViolations.isEmpty()) { - StringBuffer msg = new StringBuffer(); + StringBuilder msg = new StringBuilder(); msg.append("The following errors were found in:\n\n"); msg.append(assemblyName); msg.append("\n"); diff --git a/source-release/src/test/resources/maven-projects/zip-and-tar/pom.xml b/source-release/src/test/resources/maven-projects/zip-and-tar/pom.xml index dc5c132..2f102a5 100644 --- a/source-release/src/test/resources/maven-projects/zip-and-tar/pom.xml +++ b/source-release/src/test/resources/maven-projects/zip-and-tar/pom.xml @@ -32,17 +32,17 @@ under the License. zip-and-tar-child1 zip-and-tar-child2 - + UTF-8 - + maven-assembly-plugin @assemblyPluginVersion@ - + org.apache.apache.resources @@ -50,7 +50,7 @@ under the License. @project.version@ - + source-release-assembly @@ -70,10 +70,10 @@ under the License. maven-compiler-plugin - 3.11.0 + 3.14.1 - 1.8 - 1.8 + 8 + 8