diff --git a/src/etc/testcases/taskdefs/exec/apply.xml b/src/etc/testcases/taskdefs/exec/apply.xml deleted file mode 100755 index 8e217372a..000000000 --- a/src/etc/testcases/taskdefs/exec/apply.xml +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - s/x/blah/g${line.separator} - s/y/blah/g${line.separator} - s/z/blah/g${line.separator} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - x y z${line.separator} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - x y z${line.separator} - - - - - - - - - - - - - x before y before z${line.separator} - - - - - - - - - - - - - - - - x before y before z${line.separator} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - x before y before z${line.separator} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z before y before x${line.separator} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tests/antunit/taskdefs/exec/apply-test.xml b/src/tests/antunit/taskdefs/exec/apply-test.xml new file mode 100755 index 000000000..7b0b353fc --- /dev/null +++ b/src/tests/antunit/taskdefs/exec/apply-test.xml @@ -0,0 +1,724 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@{refid}=@{refid} + + + + + + + + + + + + + + + + + + s/x/blah/g${eol} + s/y/blah/g${eol} + s/z/blah/g${eol} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x y z${eol} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x y z${eol} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x before y before z${eol} + + + + + + + + + + + + + + + + + + x before y before z${eol} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x before y before z${eol} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z before y before x${eol} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tests/antunit/taskdefs/exec/parrot.sh b/src/tests/antunit/taskdefs/exec/parrot.sh new file mode 100755 index 000000000..2467f23a0 --- /dev/null +++ b/src/tests/antunit/taskdefs/exec/parrot.sh @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +for arg in "$@" ; do + echo $arg out + sleep 1 + echo $arg err>&2 +done diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteOnTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteOnTest.java deleted file mode 100755 index a748cd373..000000000 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteOnTest.java +++ /dev/null @@ -1,599 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.tools.ant.taskdefs; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import org.apache.tools.ant.BuildFileTest; -import org.apache.tools.ant.util.FileUtils; - -/** - * Unit test for the <apply> task. - */ -public class ExecuteOnTest extends BuildFileTest { - private static final String BUILD_PATH = "src/etc/testcases/taskdefs/exec/"; - private static final String BUILD_FILE = BUILD_PATH + "apply.xml"; - private static final String LINE_SEP = System.getProperty("line.separator"); - - public ExecuteOnTest(String name) { - super(name); - } - - public void setUp() { - configureProject(BUILD_FILE); - } - - public void tearDown() { - executeTarget("cleanup"); - } - - public void testNoRedirect() { - executeTarget("no-redirect"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - - String log = getLog(); - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = log.indexOf(x + " out"); - int yout = log.indexOf(y + " out"); - int zout = log.indexOf(z + " out"); - int xerr = log.indexOf(x + " err"); - int yerr = log.indexOf(y + " err"); - int zerr = log.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - } - - public void testRedirect1() throws IOException { - executeTarget("redirect1"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirect.out"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualOut.indexOf(x + " err"); - int yerr = actualOut.indexOf(y + " err"); - int zerr = actualOut.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - } - - public void testRedirect2() throws IOException { - executeTarget("redirect2"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirect.out"); - String actualErr = getFileString("redirect.err"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualErr.indexOf(x + " err"); - int yerr = actualErr.indexOf(y + " err"); - int zerr = actualErr.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - } - - public void testRedirect3() throws IOException { - executeTarget("redirect3"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirect.out"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = getLog().indexOf(x + " err"); - int yerr = getLog().indexOf(y + " err"); - int zerr = getLog().indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - - String outProperty = getProject().getProperty("redirect.out"); - int pxout = outProperty.indexOf(x + " out"); - int pyout = outProperty.indexOf(y + " out"); - int pzout = outProperty.indexOf(z + " out"); - assertFalse("pxout=" + pxout, pxout < 0); - assertFalse("pyout=" + pyout, pyout < 0); - assertFalse("pzout=" + pzout, pzout < 0); - assertFalse("pyout < pxout", pyout < pxout); - assertFalse("pzout < pyout", pzout < pyout); - } - - public void testRedirect4() throws IOException { - executeTarget("redirect4"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirect.out"); - String actualErr = getFileString("redirect.err"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualErr.indexOf(x + " err"); - int yerr = actualErr.indexOf(y + " err"); - int zerr = actualErr.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - - String outProperty = getProject().getProperty("redirect.out"); - int pxout = outProperty.indexOf(x + " out"); - int pyout = outProperty.indexOf(y + " out"); - int pzout = outProperty.indexOf(z + " out"); - assertFalse("pxout=" + pxout, pxout < 0); - assertFalse("pyout=" + pyout, pyout < 0); - assertFalse("pzout=" + pzout, pzout < 0); - assertFalse("pyout < pxout", pyout < pxout); - assertFalse("pzout < pyout", pzout < pyout); - - String errorProperty = getProject().getProperty("redirect.err"); - int pxerr = errorProperty.indexOf(x + " err"); - int pyerr = errorProperty.indexOf(y + " err"); - int pzerr = errorProperty.indexOf(z + " err"); - assertFalse("pxerr=" + pxerr, pxerr < 0); - assertFalse("pyerr=" + pyerr, pyerr < 0); - assertFalse("pzerr=" + pzerr, pzerr < 0); - assertFalse("pyerr < pxerr", pyerr < pxerr); - assertFalse("pzerr < pyerr", pzerr < pyerr); - } - - public void testRedirect5() throws IOException { - testRedirect5or6("redirect5"); - } - - public void testRedirect6() throws IOException { - testRedirect5or6("redirect6"); - } - - private void testRedirect5or6(String target) throws IOException { - executeTarget(target); - if (getProject().getProperty("sed.can.run") == null) { - return; - } - - assertPropertyEquals("redirect.out", getProject().replaceProperties( - "blah y z${line.separator}x blah z${line.separator}x y blah")); - assertPropertyEquals("redirect.err", ""); - assertEquals("unexpected output", - "blah y z\nx blah z\nx y blah\n", getFileString("redirect.out")); - assertNull("unexpected error output", getFileString("redirect.err")); - } - - public void testRedirect7() throws IOException { - executeTarget("redirect7"); - if (getProject().getProperty("sed.can.run") == null) { - return; - } - - assertPropertyEquals("redirect.out", "blah y z"); - assertPropertyUnset("redirect.err"); - assertEquals("unexpected output", - "x y blah\n", getFileString("redirect.out")); - assertNull("unexpected error output", getFileString("redirect.err")); - } - - public void testRedirector1() { - executeTarget("init"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - expectBuildException("redirector1", "cannot have > 1 nested s"); - } - - public void testRedirector2() throws IOException { - executeTarget("redirector2"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - - String actualOut = getFileString("redirector.out"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualOut.indexOf(x + " err"); - int yerr = actualOut.indexOf(y + " err"); - int zerr = actualOut.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - } - - public void testRedirector3() throws IOException { - executeTarget("redirector3"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - - String actualOut = getFileString("redirector.out"); - String actualErr = getFileString("redirector.err"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualErr.indexOf(x + " err"); - int yerr = actualErr.indexOf(y + " err"); - int zerr = actualErr.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - } - - public void testRedirector4() throws IOException { - executeTarget("redirector4"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirector.out"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = getLog().indexOf(x + " err"); - int yerr = getLog().indexOf(y + " err"); - int zerr = getLog().indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - - String outProperty = getProject().getProperty("redirector.out"); - int pxout = outProperty.indexOf(x + " out"); - int pyout = outProperty.indexOf(y + " out"); - int pzout = outProperty.indexOf(z + " out"); - assertFalse("pxout=" + pxout, pxout < 0); - assertFalse("pyout=" + pyout, pyout < 0); - assertFalse("pzout=" + pzout, pzout < 0); - assertFalse("pyout < pxout", pyout < pxout); - assertFalse("pzout < pyout", pzout < pyout); - } - - public void testRedirector5() throws IOException { - testRedirector5or6("redirector5"); - } - - public void testRedirector6() throws IOException { - testRedirector5or6("redirector6"); - } - - private void testRedirector5or6(String target) throws IOException { - executeTarget(target); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirector.out"); - String actualErr = getFileString("redirector.err"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualErr.indexOf(x + " err"); - int yerr = actualErr.indexOf(y + " err"); - int zerr = actualErr.indexOf(z + " err"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - - String outProperty = getProject().getProperty("redirector.out"); - int pxout = outProperty.indexOf(x + " out"); - int pyout = outProperty.indexOf(y + " out"); - int pzout = outProperty.indexOf(z + " out"); - assertFalse("pxout=" + pxout, pxout < 0); - assertFalse("pyout=" + pyout, pyout < 0); - assertFalse("pzout=" + pzout, pzout < 0); - assertFalse("pyout < pxout", pyout < pxout); - assertFalse("pzout < pyout", pzout < pyout); - - String errorProperty = getProject().getProperty("redirector.err"); - int pxerr = errorProperty.indexOf(x + " err"); - int pyerr = errorProperty.indexOf(y + " err"); - int pzerr = errorProperty.indexOf(z + " err"); - assertFalse("pxerr=" + pxerr, pxerr < 0); - assertFalse("pyerr=" + pyerr, pyerr < 0); - assertFalse("pzerr=" + pzerr, pzerr < 0); - assertFalse("pyerr < pxerr", pyerr < pxerr); - assertFalse("pzerr < pyerr", pzerr < pyerr); - } - - public void testRedirector7() throws IOException { - executeTarget("redirector7"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String actualOut = getFileString("redirector.out"); - String actualErr = getFileString("redirector.err"); - - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = actualOut.indexOf(x + " out"); - int yout = actualOut.indexOf(y + " out"); - int zout = actualOut.indexOf(z + " out"); - int xerr = actualErr.indexOf(x + " ERROR!!!"); - int yerr = actualErr.indexOf(y + " ERROR!!!"); - int zerr = actualErr.indexOf(z + " ERROR!!!"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - - String outProperty = getProject().getProperty("redirector.out"); - int pxout = outProperty.indexOf(x + " out"); - int pyout = outProperty.indexOf(y + " out"); - int pzout = outProperty.indexOf(z + " out"); - assertFalse("pxout=" + pxout, pxout < 0); - assertFalse("pyout=" + pyout, pyout < 0); - assertFalse("pzout=" + pzout, pzout < 0); - assertFalse("pyout < pxout", pyout < pxout); - assertFalse("pzout < pyout", pzout < pyout); - - String errorProperty = getProject().getProperty("redirector.err"); - int pxerr = errorProperty.indexOf(x + " ERROR!!!"); - int pyerr = errorProperty.indexOf(y + " ERROR!!!"); - int pzerr = errorProperty.indexOf(z + " ERROR!!!"); - assertFalse("pxerr=" + pxerr, pxerr < 0); - assertFalse("pyerr=" + pyerr, pyerr < 0); - assertFalse("pzerr=" + pzerr, pzerr < 0); - assertFalse("pyerr < pxerr", pyerr < pxerr); - assertFalse("pzerr < pyerr", pzerr < pyerr); - } - - public void testRedirector8() throws IOException { - executeTarget("redirector8"); - if (getProject().getProperty("sed.can.run") == null) { - return; - } - - assertPropertyEquals("redirector.out", getProject().replaceProperties( - "blah y z${line.separator}x blah z${line.separator}x y blah")); - assertPropertyEquals("redirector.err", ""); - assertEquals("unexpected output", - "blah y z\nx blah z\nx y blah\n", getFileString("redirector.out")); - assertNull("unexpected error output", getFileString("redirector.err")); - } - - public void testRedirector9() throws IOException { - testRedirector9Thru12("redirector9"); - } - - public void testRedirector10() throws IOException { - testRedirector9Thru12("redirector10"); - } - - public void testRedirector11() throws IOException { - testRedirector9Thru12("redirector11"); - } - - public void testRedirector12() throws IOException { - testRedirector9Thru12("redirector12"); - } - - private void testRedirector9Thru12(String target) throws IOException { - executeTarget(target); - if (getProject().getProperty("sed.can.run") == null) { - return; - } - - assertNull("unexpected error output", getFileString("redirector.err")); - assertPropertyEquals("redirector.out", getProject().replaceProperties( - "blah after y after z${line.separator}x after blah after z" - + "${line.separator}x after y after blah")); - assertPropertyEquals("redirector.err", ""); - assertEquals("unexpected output", - "blah after y after z\nx after blah after z" - + "\nx after y after blah\n", getFileString("redirector.out")); - } - - public void testRedirector13() { - executeTarget("redirector13"); - if (getProject().getProperty("test.can.run") == null) { - return; - } - String log = getLog(); - File x = getProject().resolveFile("x"); - File y = getProject().resolveFile("y"); - File z = getProject().resolveFile("z"); - int xout = log.indexOf(x + " OUTPUT???"); - int yout = log.indexOf(y + " OUTPUT???"); - int zout = log.indexOf(z + " OUTPUT???"); - int xerr = log.indexOf(x + " ERROR!!!"); - int yerr = log.indexOf(y + " ERROR!!!"); - int zerr = log.indexOf(z + " ERROR!!!"); - assertFalse("xout=" + xout, xout < 0); - assertFalse("yout=" + yout, yout < 0); - assertFalse("zout=" + zout, zout < 0); - assertFalse("xerr=" + xerr, xerr < 0); - assertFalse("yerr=" + yerr, yerr < 0); - assertFalse("zerr=" + zerr, zerr < 0); - assertFalse("yout < xout", yout < xout); - assertFalse("zout < yout", zout < yout); - assertFalse("yerr < xerr", yerr < xerr); - assertFalse("zerr < yerr", zerr < yerr); - } - - public void testRedirector14() throws IOException { - executeTarget("redirector14"); - if (getProject().getProperty("sed.can.run") == null) { - return; - } - - assertEquals("unexpected log content", - "z after y after blahx after y after blah", getLog()); - - assertEquals("unexpected redirector.out content", - "x after blah after z\n", getFileString("redirector.out")); - - assertNull("unexpected redirector.err content", getFileString("redirector.err")); - } - - public void testIgnoreMissing() { - executeTarget("ignoremissing"); - } - - public void testForce() { - executeTarget("force"); - } - - public void testNoDest() { - executeTarget("testNoDest"); - } - - public void testLsPath() { - testLsPath("lsPath"); - } - - public void testLsPathParallel() { - testLsPath("lsPathParallel"); - } - - private void testLsPath(String target) { - executeTarget(target); - if (getProject().getProperty("ls.can.run") == null) { - return; - } - String foo = getProject().getProperty("foo"); - assertNotNull(foo); - int indNoExt = foo.indexOf("ls" + LINE_SEP); - int indExe = foo.indexOf("ls.exe" + LINE_SEP); - assertTrue(indNoExt >= 0 || indExe >= 0); - } - - //borrowed from TokenFilterTest - private String getFileString(String filename) throws IOException { - String result = null; - FileReader reader = null; - try { - reader = new FileReader(getProject().resolveFile(filename)); - result = FileUtils.readFully(reader); - } finally { - FileUtils.close(reader); - } - return result; - } - -}