From 867be04bbc1a58a48ad26576add8981a2f3b8ce9 Mon Sep 17 00:00:00 2001 From: David Walluck Date: Thu, 4 Apr 2024 12:01:49 -0400 Subject: [PATCH] Use `@TempDir` and don't create files inside build directory (#58) --- .../eclipse/packager/rpm/EmptyWriterTest.java | 16 +++++------ .../eclipse/packager/rpm/Issue130Test.java | 18 +++++-------- .../eclipse/packager/rpm/Issue136Test.java | 17 +++++------- .../org/eclipse/packager/rpm/Issue24Test.java | 27 ++++++++----------- .../packager/rpm/SetVerifyFlagsTest.java | 14 ++++------ .../org/eclipse/packager/rpm/WriterTest.java | 23 ++++++++-------- 6 files changed, 46 insertions(+), 69 deletions(-) diff --git a/rpm/src/test/java/org/eclipse/packager/rpm/EmptyWriterTest.java b/rpm/src/test/java/org/eclipse/packager/rpm/EmptyWriterTest.java index a82473a..b442221 100644 --- a/rpm/src/test/java/org/eclipse/packager/rpm/EmptyWriterTest.java +++ b/rpm/src/test/java/org/eclipse/packager/rpm/EmptyWriterTest.java @@ -23,22 +23,18 @@ import org.eclipse.packager.rpm.build.RpmBuilder; import org.eclipse.packager.rpm.build.RpmBuilder.PackageInformation; import org.eclipse.packager.rpm.parse.RpmInputStream; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; -public class EmptyWriterTest { - private static final Path OUT_BASE = Path.of("target", "data", "out.empty"); - - @BeforeAll - public static void setup() throws IOException { - Files.createDirectories(OUT_BASE); - } +class EmptyWriterTest { + @TempDir + private Path outBase; @Test - public void test3() throws IOException, PGPException { + void test3() throws IOException, PGPException { Path outFile; - try (RpmBuilder builder = new RpmBuilder("testEmpty", "1.0.0", "1", "noarch", OUT_BASE)) { + try (RpmBuilder builder = new RpmBuilder("testEmpty", "1.0.0", "1", "noarch", outBase)) { final PackageInformation pinfo = builder.getInformation(); pinfo.setLicense("EPL"); diff --git a/rpm/src/test/java/org/eclipse/packager/rpm/Issue130Test.java b/rpm/src/test/java/org/eclipse/packager/rpm/Issue130Test.java index 6ded393..1fbe7b4 100644 --- a/rpm/src/test/java/org/eclipse/packager/rpm/Issue130Test.java +++ b/rpm/src/test/java/org/eclipse/packager/rpm/Issue130Test.java @@ -27,24 +27,20 @@ import org.eclipse.packager.rpm.build.RpmBuilder.PackageInformation; import org.eclipse.packager.rpm.parse.InputHeader; import org.eclipse.packager.rpm.parse.RpmInputStream; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; -public class Issue130Test { - private static final Path OUT_BASE = Path.of("target", "data", "out"); - +class Issue130Test { private static final List PREFIXES = Arrays.asList("/opt", "/var/log"); - @BeforeAll - public static void setup() throws IOException { - Files.createDirectories(OUT_BASE); - } + @TempDir + private Path outBase; @Test - public void test() throws IOException { - Path outFile; + void test() throws IOException { + final Path outFile; - try (RpmBuilder builder = new RpmBuilder("prefixes-test", "1.0.0", "1", "noarch", OUT_BASE)) { + try (final RpmBuilder builder = new RpmBuilder("prefixes-test", "1.0.0", "1", "noarch", outBase)) { final PackageInformation pinfo = builder.getInformation(); pinfo.setPrefixes(PREFIXES); diff --git a/rpm/src/test/java/org/eclipse/packager/rpm/Issue136Test.java b/rpm/src/test/java/org/eclipse/packager/rpm/Issue136Test.java index 1f87d47..024324a 100644 --- a/rpm/src/test/java/org/eclipse/packager/rpm/Issue136Test.java +++ b/rpm/src/test/java/org/eclipse/packager/rpm/Issue136Test.java @@ -27,17 +27,13 @@ import org.eclipse.packager.rpm.info.RpmInformations; import org.eclipse.packager.rpm.parse.InputHeader; import org.eclipse.packager.rpm.parse.RpmInputStream; -import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.io.TempDir; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; -public class Issue136Test { - private static final Path OUT_BASE = Path.of("target", "data", "out"); - - @BeforeAll - public static void setup() throws IOException { - Files.createDirectories(OUT_BASE); - } +class Issue136Test { + @TempDir + private Path outBase; @ParameterizedTest @ValueSource(strings = { @@ -48,10 +44,10 @@ public static void setup() throws IOException { "012345678901234567890123456789012345678901234567890123456789012345", "0123456789012345678901234567890123456789012345678901234567890123456", }) - public void test(final String originalName) throws IOException { + void test(final String originalName) throws IOException { Path outFile; - try (RpmBuilder builder = new RpmBuilder(originalName, "1.0.0", "1", "noarch", OUT_BASE)) { + try (RpmBuilder builder = new RpmBuilder(originalName, "1.0.0", "1", "noarch", outBase)) { outFile = builder.getTargetFile(); builder.build(); @@ -71,5 +67,4 @@ public void test(final String originalName) throws IOException { assertTrue(leadNameBytes.length < 66, () -> "Expected lead name bytes to be less than 66, was " + leadNameBytes.length); } } - } diff --git a/rpm/src/test/java/org/eclipse/packager/rpm/Issue24Test.java b/rpm/src/test/java/org/eclipse/packager/rpm/Issue24Test.java index 17ccbed..cf43ea1 100644 --- a/rpm/src/test/java/org/eclipse/packager/rpm/Issue24Test.java +++ b/rpm/src/test/java/org/eclipse/packager/rpm/Issue24Test.java @@ -16,33 +16,28 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; import org.eclipse.packager.rpm.build.BuilderOptions; import org.eclipse.packager.rpm.build.RpmBuilder; import org.eclipse.packager.rpm.build.RpmFileNameProvider; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; -public class Issue24Test { - private static final Path OUT_BASE = Path.of("target", "data", "out"); - - @BeforeAll - public static void setup() throws IOException { - Files.createDirectories(OUT_BASE); - } +class Issue24Test { + @TempDir + private Path outBase; @Test - public void test() throws IOException { + void test() throws IOException { final String name = "issue-24-test"; final String version = "1.0.0"; final String release = "1"; final String architecture = "noarch"; - BuilderOptions options = new BuilderOptions(); + final BuilderOptions options = new BuilderOptions(); options.setFileNameProvider(RpmFileNameProvider.DEFAULT_FILENAME_PROVIDER); - try (final RpmBuilder builder = new RpmBuilder(name, new RpmVersion(version, release), architecture, OUT_BASE, options)) { + try (final RpmBuilder builder = new RpmBuilder(name, new RpmVersion(version, release), architecture, outBase, options)) { final Path outFile = builder.getTargetFile(); builder.build(); @@ -53,16 +48,16 @@ public void test() throws IOException { assertEquals(expectedRpmFileName, outFile.getFileName().toString()); } - options = new BuilderOptions(); - options.setFileNameProvider(RpmFileNameProvider.LEGACY_FILENAME_PROVIDER); + final BuilderOptions options2 = new BuilderOptions(); + options2.setFileNameProvider(RpmFileNameProvider.LEGACY_FILENAME_PROVIDER); - try (final RpmBuilder builder = new RpmBuilder(name, new RpmVersion(version, release), architecture, OUT_BASE, options)) { + try (final RpmBuilder builder = new RpmBuilder(name, new RpmVersion(version, release), architecture, outBase, options2)) { final Path outFile = builder.getTargetFile(); builder.build(); final String expectedRpmFileName = name + "-" + version + "-" + release + "-" + architecture + ".rpm"; - final String rpmFileName = options.getFileNameProvider().getRpmFileName(builder.getName(), builder.getVersion(), builder.getArchitecture()); + final String rpmFileName = options2.getFileNameProvider().getRpmFileName(builder.getName(), builder.getVersion(), builder.getArchitecture()); assertEquals(expectedRpmFileName, rpmFileName); assertEquals(expectedRpmFileName, outFile.getFileName().toString()); } diff --git a/rpm/src/test/java/org/eclipse/packager/rpm/SetVerifyFlagsTest.java b/rpm/src/test/java/org/eclipse/packager/rpm/SetVerifyFlagsTest.java index 6019dd5..3ce81a5 100644 --- a/rpm/src/test/java/org/eclipse/packager/rpm/SetVerifyFlagsTest.java +++ b/rpm/src/test/java/org/eclipse/packager/rpm/SetVerifyFlagsTest.java @@ -29,8 +29,8 @@ import org.eclipse.packager.rpm.build.RpmBuilder; import org.eclipse.packager.rpm.parse.InputHeader; import org.eclipse.packager.rpm.parse.RpmInputStream; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,19 +40,15 @@ class SetVerifyFlagsTest { private final static Logger LOGGER = LoggerFactory.getLogger(SetVerifyFlagsTest.class); - private static final Path OUT_BASE = Path.of("target", "data", "out"); - - @BeforeAll - static void setup() throws IOException { - Files.createDirectories(OUT_BASE); - } - private static final String DIRNAME = "/opt/testing/"; private static final String NAME_myconf = "my.conf"; private static final String NAME_myreadme = "readme.txt"; + @TempDir + private Path outBase; + /** * Firstly, writes a RPM file with two file entries having different type flags * and different verification flags; @@ -61,7 +57,7 @@ static void setup() throws IOException { @Test void writeRpmWithVerifyFlags() throws IOException { final Path outFile; - try (RpmBuilder builder = new RpmBuilder("vflag0-test", "1.0.0", "1", "noarch", OUT_BASE)) { + try (RpmBuilder builder = new RpmBuilder("vflag0-test", "1.0.0", "1", "noarch", outBase)) { final String content_myconf = "Hallo, myconf!"; builder.newContext().addFile(DIRNAME + NAME_myconf, content_myconf.getBytes(), (targetName, object, type) -> { if ((DIRNAME + NAME_myconf).equals(targetName)) { diff --git a/rpm/src/test/java/org/eclipse/packager/rpm/WriterTest.java b/rpm/src/test/java/org/eclipse/packager/rpm/WriterTest.java index 67e7c0b..7bf2cfc 100644 --- a/rpm/src/test/java/org/eclipse/packager/rpm/WriterTest.java +++ b/rpm/src/test/java/org/eclipse/packager/rpm/WriterTest.java @@ -52,16 +52,16 @@ import org.testcontainers.images.builder.Transferable; import org.testcontainers.utility.DockerImageName; -public class WriterTest { +class WriterTest { private static final Path IN_BASE = Path.of("src", "test", "resources", "data", "in"); private static final String COMMAND = "sleep infinity"; @TempDir - Path outBase; + private Path outBase; @Test - public void test1() throws IOException { + void test1() throws IOException { final Path rpm1 = outBase.resolve("test1-1.0.0.rpm"); final Header header = new Header<>(); @@ -93,8 +93,8 @@ public void test1() throws IOException { requirements.add(new Dependency("rpmlib(CompressedFileNames)", "3.0.4-1", RpmDependencyFlags.LESS, RpmDependencyFlags.EQUAL, RpmDependencyFlags.RPMLIB)); Dependencies.putRequirements(header, requirements); - try (PayloadRecorder payloadRecorder = new PayloadRecorder(); PayloadRecorder.Finished finished = payloadRecorder.finish()) { - try (RpmWriter writer = new RpmWriter(rpm1, new LeadBuilder("test1", new RpmVersion("1.0.0")), header)) { + try (final PayloadRecorder.Finished finished = new PayloadRecorder().finish()) { + try (final RpmWriter writer = new RpmWriter(rpm1, new LeadBuilder("test1", new RpmVersion("1.0.0")), header)) { writer.setPayload(finished); } } @@ -105,10 +105,10 @@ public void test1() throws IOException { } @Test - public void test2() throws IOException { + void test2() throws IOException { final Path outFile = outBase.resolve("test2-1.0.0.1.rpm"); - try (PayloadRecorder payload = new PayloadRecorder()) { + try (final PayloadRecorder payload = new PayloadRecorder()) { final Header header = new Header<>(); header.putString(RpmTag.PAYLOAD_FORMAT, "cpio"); @@ -155,10 +155,10 @@ public void test2() throws IOException { } @Test - public void test3() throws IOException, PGPException { + void test3() throws IOException, PGPException { Path outFile; - try (RpmBuilder builder = new RpmBuilder("test3", "1.0.0", "1", "noarch", outBase)) { + try (final RpmBuilder builder = new RpmBuilder("test3", "1.0.0", "1", "noarch", outBase)) { final PackageInformation pinfo = builder.getInformation(); pinfo.setLicense("EPL"); @@ -210,10 +210,10 @@ public void test3() throws IOException, PGPException { } @Test - public void test4() throws IOException, InterruptedException { + void test4() throws IOException, InterruptedException { final Path outFile; - try (RpmBuilder builder = new RpmBuilder("test4", "1.0.0", "1", "noarch", outBase)) { + try (final RpmBuilder builder = new RpmBuilder("test4", "1.0.0", "1", "noarch", outBase)) { final PackageInformation pinfo = builder.getInformation(); pinfo.setLicense("EPL"); @@ -264,5 +264,4 @@ public void test4() throws IOException, InterruptedException { assertTrue(stdout.contains("name-enhances")); } } - }