This is an automated email from the ASF dual-hosted git repository. jaikiran pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git
The following commit(s) were added to refs/heads/master by this push: new 3a1ff0d Skip ImageTest if JPEG codec from com/sun/image/codec isn't available in the Java runtime. 3a1ff0d is described below commit 3a1ff0d804eca83d3ecdab35a47deac5f3cf9f9d Author: Jaikiran Pai <jaiki...@apache.org> AuthorDate: Mon Aug 26 10:27:20 2019 +0530 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 +++++++------ .../apache/tools/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 906ca9e..d94a69d 100644 --- a/src/etc/testcases/taskdefs/optional/image/image.xml +++ b/src/etc/testcases/taskdefs/optional/image/image.xml @@ -23,47 +23,48 @@ <target name="setUp"> <mkdir dir="${output}"/> <property name="src.dir" location="${basedir}/src"/> + <available classname="com.sun.image.codec.jpeg.JPEGCodec" property="jpeg.codec.available"/> </target> <target name="main" depends="testSimpleScale"> </target> <!-- this should produce a single file in the dest dir --> - <target name="testSimpleScale" depends="setUp"> + <target name="testSimpleScale" depends="setUp" if="jpeg.codec.available"> <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="no"> <scale width="300" proportions="width"/> </image> </target> <!-- this should put some text in the log --> - <target name="testEchoToLog" depends="setUp"> + <target name="testEchoToLog" depends="setUp" if="jpeg.codec.available"> <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="no"> <scale width="300" proportions="width"/> </image> </target> <!-- this should produce a single file in the dest dir --> - <target name="testFailOnError" depends="setUp"> + <target name="testFailOnError" depends="setUp" if="jpeg.codec.available"> <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="yes"> <scale width="300" proportions="width"/> </image> </target> <!-- this should produce a single file in the dest dir, overwriting any existing file --> - <target name="testOverwriteTrue" depends="setUp"> + <target name="testOverwriteTrue" depends="setUp" if="jpeg.codec.available"> <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="true" failonerror="no"> <scale width="300" proportions="width"/> </image> </target> <!-- this should not overwrite the existing file --> - <target name="testOverwriteFalse" depends="setUp"> + <target name="testOverwriteFalse" depends="setUp" if="jpeg.codec.available"> <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="false" failonerror="no"> <scale width="300" proportions="width"/> </image> </target> - <target name="testSimpleScaleWithMapper" depends="setUp"> + <target name="testSimpleScaleWithMapper" depends="setUp" if="jpeg.codec.available"> <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="no"> <scale width="300" proportions="width"/> 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 a68f424..cefd4c0 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());