From 3a1ff0d804eca83d3ecdab35a47deac5f3cf9f9d Mon Sep 17 00:00:00 2001 From: Jaikiran Pai Date: Mon, 26 Aug 2019 10:27:20 +0530 Subject: [PATCH] Skip ImageTest if JPEG codec from com/sun/image/codec isn't available in the Java runtime. OpenJDK even in Java 8 (update 222) doesn't include these codecs. Oracle JDK has it in Java 8, but not in subsequent Java releases. --- src/etc/testcases/taskdefs/optional/image/image.xml | 13 +++++++------ .../ant/taskdefs/optional/image/ImageTest.java | 12 +++++++++++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/etc/testcases/taskdefs/optional/image/image.xml b/src/etc/testcases/taskdefs/optional/image/image.xml index 906ca9eab..d94a69dc2 100644 --- a/src/etc/testcases/taskdefs/optional/image/image.xml +++ b/src/etc/testcases/taskdefs/optional/image/image.xml @@ -23,47 +23,48 @@ + - + - + - + - + - + - + diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java index a68f424dd..cefd4c0e5 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java @@ -34,6 +34,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeNotNull; import static org.junit.Assume.assumeTrue; /** @@ -63,14 +64,17 @@ public class ImageTest { @Test public void testEchoToLog() { buildRule.executeTarget("testEchoToLog"); + assumeNotNull("JPEG codec is unavailable in classpath", + buildRule.getProject().getProperty("jpeg.codec.available")); assertThat(buildRule.getLog(), containsString("Processing File")); } @Test public void testSimpleScale() { buildRule.executeTarget("testSimpleScale"); + assumeNotNull("JPEG codec is unavailable in classpath", + buildRule.getProject().getProperty("jpeg.codec.available")); assertThat(buildRule.getLog(), containsString("Processing File")); - File f = new File(buildRule.getOutputDir(), LARGEIMAGE); assertTrue("Did not create " + f.getAbsolutePath(), f.exists()); } @@ -78,6 +82,8 @@ public class ImageTest { @Test public void testOverwriteTrue() { buildRule.executeTarget("testSimpleScale"); + assumeNotNull("JPEG codec is unavailable in classpath", + buildRule.getProject().getProperty("jpeg.codec.available")); assertThat(buildRule.getLog(), containsString("Processing File")); File f = new File(buildRule.getOutputDir(), LARGEIMAGE); assumeTrue("Could not change file modification date", @@ -93,6 +99,8 @@ public class ImageTest { @Test public void testOverwriteFalse() { buildRule.executeTarget("testSimpleScale"); + assumeNotNull("JPEG codec is unavailable in classpath", + buildRule.getProject().getProperty("jpeg.codec.available")); assertThat(buildRule.getLog(), containsString("Processing File")); File f = new File(buildRule.getOutputDir(), LARGEIMAGE); long lastModified = f.lastModified(); @@ -106,6 +114,8 @@ public class ImageTest { @Test public void testSimpleScaleWithMapper() { buildRule.executeTarget("testSimpleScaleWithMapper"); + assumeNotNull("JPEG codec is unavailable in classpath", + buildRule.getProject().getProperty("jpeg.codec.available")); assertThat(buildRule.getLog(), containsString("Processing File")); File f = new File(buildRule.getOutputDir(), "scaled-" + LARGEIMAGE); assertTrue("Did not create " + f.getAbsolutePath(), f.exists());