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-imaging.git
The following commit(s) were added to refs/heads/master by this push: new 105620f0 Fix test resource file paths not being constructed properly #306 105620f0 is described below commit 105620f057fdcc7f40f32c69c7f133b5dc754db6 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Jul 29 13:49:55 2023 -0400 Fix test resource file paths not being constructed properly #306 Rename test methods --- src/changes/changes.xml | 5 +++- .../imaging/formats/bmp/BmpImageParserTest.java | 4 +-- .../commons/imaging/formats/bmp/BmpReadTest.java | 2 +- .../commons/imaging/formats/gif/GifReadTest.java | 6 ++-- .../commons/imaging/formats/icns/IcnsReadTest.java | 2 +- .../commons/imaging/formats/jpeg/JpegReadTest.java | 2 +- .../jpeg/JpegWithInvalidDhtSegmentTest.java | 2 +- .../formats/jpeg/decoder/JpegDecoderTest.java | 2 +- .../imaging/formats/jpeg/iptc/IptcParserTest.java | 4 +-- .../formats/jpeg/specific/JpegImageParserTest.java | 2 +- .../commons/imaging/formats/png/PngReadTest.java | 6 ++-- .../png/PngWithInvalidPngChunkSizeTest.java | 4 +-- .../commons/imaging/formats/rgbe/RgbeReadTest.java | 2 +- .../apache/commons/imaging/test/TestResources.java | 35 +++++++++++----------- 14 files changed, 41 insertions(+), 37 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d546d27c..8281a709 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -64,7 +64,10 @@ The <action> type attribute can be add,update,fix,remove. [StepSecurity] ci: Harden GitHub Actions #297. </action> <action dev="ggregory" type="fix" due-to="Marcono1234, Gary Gregory"> - Use static imports for JUnit Assertions methods #307. + Use static imports for JUnit Assertions methods #307. + </action> + <action dev="ggregory" type="fix" issue="IMAGING-359" due-to="Marcono1234, Gary Gregory"> + Fix test resource file paths not being constructed properly #306. </action> <!-- ADD --> <action issue="IMAGING-352" dev="ggregory" type="update" due-to="Jeroen van der Vegt, Gary Gregory"> diff --git a/src/test/java/org/apache/commons/imaging/formats/bmp/BmpImageParserTest.java b/src/test/java/org/apache/commons/imaging/formats/bmp/BmpImageParserTest.java index 80828bfc..1521d0a5 100644 --- a/src/test/java/org/apache/commons/imaging/formats/bmp/BmpImageParserTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/bmp/BmpImageParserTest.java @@ -40,7 +40,7 @@ public class BmpImageParserTest { */ @Test public void testImageForNegativeArraySizeException() throws ImagingException, IOException { - final File bmp = TestResources.fileResource("/images/bmp/IMAGING-279/negative_array_size_exception.bmp"); + final File bmp = TestResources.resourceToFile("/images/bmp/IMAGING-279/negative_array_size_exception.bmp"); final BmpImageParser parser = new BmpImageParser(); assertThrows(IllegalArgumentException.class, () -> parser.getImageInfo(bmp, new BmpImagingParameters())); } @@ -52,7 +52,7 @@ public class BmpImageParserTest { */ @Test public void testImageWidthRounding() throws ImagingException, IOException { - final File bmp = TestResources.fileResource("/images/bmp/IMAGING-264/test-72_6-dpi.bmp"); + final File bmp = TestResources.resourceToFile("/images/bmp/IMAGING-264/test-72_6-dpi.bmp"); final BmpImageParser parser = new BmpImageParser(); final ImageInfo imageInfo = parser.getImageInfo(bmp, new BmpImagingParameters()); assertEquals(73, imageInfo.getPhysicalWidthDpi(), "Expected 72.6 resolution to be rounded to 73"); diff --git a/src/test/java/org/apache/commons/imaging/formats/bmp/BmpReadTest.java b/src/test/java/org/apache/commons/imaging/formats/bmp/BmpReadTest.java index 1305ba4d..38c75dca 100644 --- a/src/test/java/org/apache/commons/imaging/formats/bmp/BmpReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/bmp/BmpReadTest.java @@ -80,7 +80,7 @@ public class BmpReadTest extends BmpBaseTest { @Test public void testNegativePaletteLength() { - final File inputFile = TestResources.fileResource("/images/bmp/IMAGING-325/crash-3afb569de74522535ef65922233e1920455cdc14.bmp"); + final File inputFile = TestResources.resourceToFile("/images/bmp/IMAGING-325/crash-3afb569de74522535ef65922233e1920455cdc14.bmp"); assertThrows(ImagingException.class, () -> new BmpImageParser().dumpImageFile(ByteSource.file(inputFile))); } } diff --git a/src/test/java/org/apache/commons/imaging/formats/gif/GifReadTest.java b/src/test/java/org/apache/commons/imaging/formats/gif/GifReadTest.java index 472588ad..69d1280a 100644 --- a/src/test/java/org/apache/commons/imaging/formats/gif/GifReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/gif/GifReadTest.java @@ -159,7 +159,7 @@ public class GifReadTest extends GifBaseTest { */ @Test public void testUncaughtExceptionOssFuzz33464() throws IOException { - final File file = TestResources.fileResource("/images/gif/oss-fuzz-33464/clusterfuzz-testcase-minimized-ImagingGifFuzzer-5174009164595200"); + final File file = TestResources.resourceToFile("/images/gif/oss-fuzz-33464/clusterfuzz-testcase-minimized-ImagingGifFuzzer-5174009164595200"); final GifImageParser parser = new GifImageParser(); assertThrows(ImagingException.class, () -> parser.getBufferedImage(ByteSource.file(file), new GifImagingParameters())); } @@ -175,7 +175,7 @@ public class GifReadTest extends GifBaseTest { */ @Test public void testUncaughtExceptionOssFuzz33501() throws IOException { - final File file = TestResources.fileResource("/images/gif/oss-fuzz-33501/clusterfuzz-testcase-minimized-ImagingGifFuzzer-5914278319226880"); + final File file = TestResources.resourceToFile("/images/gif/oss-fuzz-33501/clusterfuzz-testcase-minimized-ImagingGifFuzzer-5914278319226880"); final GifImageParser parser = new GifImageParser(); assertThrows(ImagingException.class, () -> parser.getBufferedImage(ByteSource.file(file), new GifImagingParameters())); } @@ -189,7 +189,7 @@ public class GifReadTest extends GifBaseTest { */ @Test public void testUncaughtExceptionOssFuzz34185() throws IOException { - final File file = TestResources.fileResource("/images/gif/IMAGING-318/clusterfuzz-testcase-minimized-ImagingGifFuzzer-5005192379629568"); + final File file = TestResources.resourceToFile("/images/gif/IMAGING-318/clusterfuzz-testcase-minimized-ImagingGifFuzzer-5005192379629568"); final GifImageParser parser = new GifImageParser(); assertThrows(ImagingException.class, () -> parser.getBufferedImage(ByteSource.file(file), new GifImagingParameters())); } diff --git a/src/test/java/org/apache/commons/imaging/formats/icns/IcnsReadTest.java b/src/test/java/org/apache/commons/imaging/formats/icns/IcnsReadTest.java index aa612e54..38f78e7d 100644 --- a/src/test/java/org/apache/commons/imaging/formats/icns/IcnsReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/icns/IcnsReadTest.java @@ -77,7 +77,7 @@ public class IcnsReadTest extends IcnsBaseTest { @ParameterizedTest() @MethodSource("provideIcnsImagesWithMonoAndJpegPngData") public void testIcnsElementMonoPngJpeg(final String file, final int numberOfImages) throws ImagingException, IOException { - final File testFile = TestResources.fileResource(file); + final File testFile = TestResources.resourceToFile(file); final List<BufferedImage> images = new IcnsImageParser().getAllBufferedImages(testFile); assertEquals(numberOfImages, images.size()); } diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java index 3afaf63d..ceed2916 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java @@ -77,7 +77,7 @@ public class JpegReadTest extends JpegBaseTest { */ @Test public void testUncaughtExceptionOssFuzz33458() { - final File file = TestResources.fileResource("/images/jpeg/oss-fuzz-33458/clusterfuzz-testcase-minimized-ImagingJpegFuzzer-4548690447564800"); + final File file = TestResources.resourceToFile("/images/jpeg/oss-fuzz-33458/clusterfuzz-testcase-minimized-ImagingJpegFuzzer-4548690447564800"); final JpegImageParser parser = new JpegImageParser(); assertThrows(ImagingException.class, () -> parser.getBufferedImage(ByteSource.file(file), new JpegImagingParameters())); } diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegWithInvalidDhtSegmentTest.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegWithInvalidDhtSegmentTest.java index 78c1146b..d4dfc56c 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegWithInvalidDhtSegmentTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegWithInvalidDhtSegmentTest.java @@ -36,7 +36,7 @@ public class JpegWithInvalidDhtSegmentTest { public void testSingleImage() { // we cannot use ImagingTest and getImageByFileName, as it would cause others // tests to fail - final File imageFile = TestResources.fileResource("/IMAGING-215/ArrayIndexOutOfBoundsException_DhtSegment_79.jpeg"); + final File imageFile = TestResources.resourceToFile("/IMAGING-215/ArrayIndexOutOfBoundsException_DhtSegment_79.jpeg"); assertThrows(ImagingException.class, () -> Imaging.getMetadata(imageFile)); } } diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoderTest.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoderTest.java index 93b52e46..ce16e7bb 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoderTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoderTest.java @@ -37,7 +37,7 @@ public class JpegDecoderTest { @Test public void testDecodeBadFile() { // From IMAGING-220 - final File inputFile = TestResources.fileResource("/IMAGING-220/timeout-48eb4251935b4ca8b26d1859ea525c1b42ae0c78.jpeg"); + final File inputFile = TestResources.resourceToFile("/IMAGING-220/timeout-48eb4251935b4ca8b26d1859ea525c1b42ae0c78.jpeg"); final ByteSource byteSourceFile = ByteSource.file(inputFile); assertThrows(ImagingException.class, () -> new JpegDecoder().decode(byteSourceFile)); } diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java index 80960e2b..84563545 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java @@ -50,7 +50,7 @@ public class IptcParserTest { @Test public void testEncodingSupport() throws IOException, ImagingException { // NOTE: We use the JpegParser, so it will send only the block/segment that IptcParser needs for the test image - final File file = TestResources.fileResource("/images/jpeg/iptc/IMAGING-168/111083453-c07f1880-851e-11eb-8b61-2757f7d934bf.jpg"); + final File file = TestResources.resourceToFile("/images/jpeg/iptc/IMAGING-168/111083453-c07f1880-851e-11eb-8b61-2757f7d934bf.jpg"); final JpegImageParser parser = new JpegImageParser(); final JpegImageMetadata metadata = (JpegImageMetadata) parser.getMetadata(file); final JpegPhotoshopMetadata photoshopMetadata = metadata.getPhotoshop(); @@ -82,7 +82,7 @@ public class IptcParserTest { */ @Test public void testSkipBlockTypes() throws ImagingException, IOException { - final File imageFile = TestResources.fileResource("/images/jpeg/photoshop/IMAGING-246/FallHarvestKitKat_07610.jpg"); + final File imageFile = TestResources.resourceToFile("/images/jpeg/photoshop/IMAGING-246/FallHarvestKitKat_07610.jpg"); final JpegImageMetadata metadata = (JpegImageMetadata) new JpegImageParser() .getMetadata(ByteSource.file(imageFile), new JpegImagingParameters()); final JpegPhotoshopMetadata photoshopMetadata = metadata.getPhotoshop(); diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/specific/JpegImageParserTest.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/specific/JpegImageParserTest.java index 59e06d7c..b1685818 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/specific/JpegImageParserTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/specific/JpegImageParserTest.java @@ -39,7 +39,7 @@ public class JpegImageParserTest { */ @Test public void testGetBufferedImage10() throws ImagingException, IOException { - final File imageFile = TestResources.fileResource("/IMAGING-136/1402522741337.jpg"); + final File imageFile = TestResources.resourceToFile("/IMAGING-136/1402522741337.jpg"); final JpegImageParser parser = new JpegImageParser(); final BufferedImage image = parser.getBufferedImage(ByteSource.file(imageFile), null); assertEquals(680, image.getWidth()); diff --git a/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java b/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java index 7acb4747..0e852c98 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java @@ -89,7 +89,7 @@ public class PngReadTest extends PngBaseTest { */ @Test public void testReadMetadataFromItxtChunk() throws IOException, ImagingException { - final File file = TestResources.fileResource("/images/png/IMAGING-342/utf8-comment.png"); + final File file = TestResources.resourceToFile("/images/png/IMAGING-342/utf8-comment.png"); final PngImageParser parser = new PngImageParser(); final ImageMetadata metadata = parser.getMetadata(file); @@ -112,7 +112,7 @@ public class PngReadTest extends PngBaseTest { */ @Test public void testUncaughtExceptionOssFuzz33691() throws IOException { - final File file = TestResources.fileResource("/images/png/oss-fuzz-33691/clusterfuzz-testcase-minimized-ImagingPngFuzzer-6177282101215232"); + final File file = TestResources.resourceToFile("/images/png/oss-fuzz-33691/clusterfuzz-testcase-minimized-ImagingPngFuzzer-6177282101215232"); final PngImageParser parser = new PngImageParser(); assertThrows(ImagingException.class, () -> parser.getBufferedImage(ByteSource.file(file), new PngImagingParameters())); } @@ -127,7 +127,7 @@ public class PngReadTest extends PngBaseTest { */ @Test public void testUncaughtExceptionOssFuzz37607() throws IOException { - final File file = TestResources.fileResource("/images/png/IMAGING-317/clusterfuzz-testcase-minimized-ImagingPngFuzzer-6242400830357504"); + final File file = TestResources.resourceToFile("/images/png/IMAGING-317/clusterfuzz-testcase-minimized-ImagingPngFuzzer-6242400830357504"); final PngImageParser parser = new PngImageParser(); assertThrows(ImagingException.class, () -> parser.getBufferedImage(ByteSource.file(file), new PngImagingParameters())); } diff --git a/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java b/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java index 532d63db..a3d8e041 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java @@ -37,7 +37,7 @@ public class PngWithInvalidPngChunkSizeTest { */ @Test public void testPngWithInvalidNegativePngChunkSize() { - final File imageFile = TestResources.fileResource("/IMAGING-210/testfile.png"); + final File imageFile = TestResources.resourceToFile("/IMAGING-210/testfile.png"); final PngImagingParameters params = new PngImagingParameters(); params.setBufferedImageFactory(new ManagedImageBufferedImageFactory()); final PngImageParser jpegImageParser = new PngImageParser(); @@ -50,7 +50,7 @@ public class PngWithInvalidPngChunkSizeTest { */ @Test public void testPngWithInvalidPngChunkSize() { - final File imageFile = TestResources.fileResource("/IMAGING-211/testfile_2.png"); + final File imageFile = TestResources.resourceToFile("/IMAGING-211/testfile_2.png"); final PngImagingParameters params = new PngImagingParameters(); params.setBufferedImageFactory(new ManagedImageBufferedImageFactory()); final PngImageParser jpegImageParser = new PngImageParser(); diff --git a/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java b/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java index 40187439..1568a9cb 100644 --- a/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java @@ -62,7 +62,7 @@ public class RgbeReadTest extends RgbeBaseTest { @Test public void testErrorDecompressingInvalidFile() { // From IMAGING-219 - final File inputFile = TestResources.fileResource("/IMAGING-219/timeout-9713502c9c371f1654b493650c16ab17c0444369.hdr"); + final File inputFile = TestResources.resourceToFile("/IMAGING-219/timeout-9713502c9c371f1654b493650c16ab17c0444369.hdr"); final ByteSource byteSourceFile = ByteSource.file(inputFile); final RgbeImagingParameters params = new RgbeImagingParameters(); assertThrows(ImagingException.class, () -> new RgbeImageParser().getBufferedImage(byteSourceFile, params)); diff --git a/src/test/java/org/apache/commons/imaging/test/TestResources.java b/src/test/java/org/apache/commons/imaging/test/TestResources.java index a627be5a..3f6152de 100644 --- a/src/test/java/org/apache/commons/imaging/test/TestResources.java +++ b/src/test/java/org/apache/commons/imaging/test/TestResources.java @@ -25,16 +25,28 @@ import java.nio.file.Path; import java.nio.file.Paths; /** - * Helper class which provides convenience methods for accessing test resources. + * Provides convenience methods for accessing test resources. */ public class TestResources { - private TestResources() { + + /** + * Gets a {@link File} for a {@linkplain Class#getResource(String) resource path}. + */ + public static File resourceToFile(String path) { + return new File(resourceToURI(path)); + } + + /** + * Gets a {@link Path} for a {@linkplain Class#getResource(String) resource path}. + */ + public static Path resourceToPath(String path) { + return Paths.get(resourceToURI(path)); } - private static URI resourceUri(String path) { - URL url = TestResources.class.getResource(path); + private static URI resourceToURI(String name) { + URL url = TestResources.class.getResource(name); if (url == null) { - throw new IllegalArgumentException("Resource does not exist: " + path); + throw new IllegalArgumentException("Resource does not exist: " + name); } try { return url.toURI(); @@ -43,17 +55,6 @@ public class TestResources { } } - /** - * Gets a {@link File} for a {@linkplain Class#getResource(String) resource path}. - */ - public static File fileResource(String path) { - return new File(resourceUri(path)); - } - - /** - * Gets a {@link Path} for a {@linkplain Class#getResource(String) resource path}. - */ - public static Path pathResource(String path) { - return Paths.get(resourceUri(path)); + private TestResources() { } }