You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by mc...@apache.org on 2014/04/18 23:00:43 UTC

svn commit: r1588563 [5/16] - in /ant/core/trunk: ./ manual/ manual/Types/ src/etc/testcases/taskdefs/ src/etc/testcases/taskdefs/optional/ src/etc/testcases/taskdefs/optional/antlr/ src/etc/testcases/taskdefs/optional/depend/ src/etc/testcases/taskdef...

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeleteTest.java Fri Apr 18 21:00:38 2014
@@ -18,68 +18,95 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
 
 /**
  */
-public class DeleteTest extends BuildFileTest {
+public class DeleteTest {
 
-    public DeleteTest(String name) {
-        super(name);
-    }
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/delete.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/delete.xml");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "required argument not specified");
+        try {
+            buildRule.executeTarget("test1");
+            fail("required argument not specified");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test2() {
-        executeTarget("test2");
+        buildRule.executeTarget("test2");
     }
 //where oh where has my test case 3 gone?
+    @Test
     public void test4() {
-        executeTarget("test4");
+        buildRule.executeTarget("test4");
     }
+    @Test
     public void test5() {
-        executeTarget("test5");
+        buildRule.executeTarget("test5");
     }
+    @Test
     public void test6() {
-        executeTarget("test6");
+        buildRule.executeTarget("test6");
     }
+    @Test
     public void test7() {
-        executeTarget("test7");
+        buildRule.executeTarget("test7");
     }
+    @Test
     public void test8() {
-        executeTarget("test8");
+        buildRule.executeTarget("test8");
     }
+    @Test
     public void test9() {
-        executeTarget("test9");
+        buildRule.executeTarget("test9");
     }
+    @Test
     public void test10() {
-        executeTarget("test10");
+        buildRule.executeTarget("test10");
     }
+    @Test
     public void test11() {
-        executeTarget("test11");
+        buildRule.executeTarget("test11");
     }
+    @Test
     public void test12() {
-        executeTarget("test12");
+        buildRule.executeTarget("test12");
     }
+    @Test
     public void test13() {
-        executeTarget("test13");
+        buildRule.executeTarget("test13");
     }
+    @Test
     public void test14() {
-        executeTarget("test14");
+        buildRule.executeTarget("test14");
     }
+    @Test
     public void test15() {
-        executeTarget("test15");
+        buildRule.executeTarget("test15");
     }
+    @Test
     public void test16() {
-        executeTarget("test16");
+        buildRule.executeTarget("test16");
     }
+    @Test
     public void test17() {
-        executeTarget("test17");
+        buildRule.executeTarget("test17");
     }
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeltreeTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeltreeTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeltreeTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DeltreeTest.java Fri Apr 18 21:00:38 2014
@@ -18,27 +18,38 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 
-/**
- */
-public class DeltreeTest extends BuildFileTest {
+import static org.junit.Assert.fail;
 
-    public DeltreeTest(String name) {
-        super(name);
-    }
+public class DeltreeTest {
+
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/deltree.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/deltree.xml");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "required argument not specified");
+        try {
+            buildRule.executeTarget("test1");
+            fail("required argument not specified");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test2() {
         // We try to delete the directory created in CopydirTest
-        executeTarget("test2");
+        buildRule.executeTarget("test2");
     }
 
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DirnameTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DirnameTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DirnameTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DirnameTest.java Fri Apr 18 21:00:38 2014
@@ -18,53 +18,75 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
 import org.apache.tools.ant.taskdefs.condition.Os;
+import org.junit.Assume;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 
 /**
  */
-public class DirnameTest extends BuildFileTest {
-
-    public DirnameTest(String name) {
-        super(name);
-    }
+public class DirnameTest {
+	
+	@Rule
+	public BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/dirname.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/dirname.xml");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "property attribute required");
+    	try {
+        	buildRule.executeTarget("test1");
+        	fail("Build exception should have been thrown as property attribute is required");
+    	} catch(BuildException ex) {
+    		assertEquals("property attribute required", ex.getMessage());
+    	}
     }
 
+    @Test
     public void test2() {
-        expectBuildException("test2", "file attribute required");
+    	try {
+        	buildRule.executeTarget("test2");
+        	fail("Build exception should have been thrown as file attribute is required");
+    	} catch(BuildException ex) {
+    		assertEquals("file attribute required", ex.getMessage());
+    	}
     }
 
+    @Test
     public void test3() {
-        expectBuildException("test3", "property attribute required");
+    	try {
+        	buildRule.executeTarget("test3");
+        	fail("Build exception should have been thrown as property attribute is required");
+    	} catch(BuildException ex) {
+    		assertEquals("property attribute required", ex.getMessage());
+    	}
     }
 
+    @Test
     public void test4() {
-        if (Os.isFamily("netware") || Os.isFamily("dos")) {
-            return;
-        }
-        executeTarget("test4");
+        Assume.assumeFalse("Test not possible on DOS or Netware family OS", Os.isFamily("netware") || Os.isFamily("dos"));
+        buildRule.executeTarget("test4");
         String filesep = System.getProperty("file.separator");
         String expected = filesep + "usr" + filesep + "local";
-        String checkprop = project.getProperty("local.dir");
-        if (!checkprop.equals(expected)) {
-            fail("dirname failed");
-        }
+        String checkprop = buildRule.getProject().getProperty("local.dir");
+        assertEquals("dirname failed", expected, checkprop);
     }
 
+    @Test
     public void test5() {
-        executeTarget("test5");
-        String expected = project.getProperty("basedir");
-        String checkprop = project.getProperty("base.dir");
-        if (!checkprop.equals(expected)) {
-            fail("dirname failed");
-        }
+        buildRule.executeTarget("test5");
+        String expected = buildRule.getProject().getProperty("basedir");
+        String checkprop = buildRule.getProject().getProperty("base.dir");
+        assertEquals("dirname failed", expected, checkprop);
     }
 
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DynamicTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DynamicTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DynamicTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/DynamicTest.java Fri Apr 18 21:00:38 2014
@@ -18,23 +18,29 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 
-public class DynamicTest extends BuildFileTest {
+import static org.junit.Assert.assertEquals;
 
-    public DynamicTest(String name) {
-        super(name);
-    }
+public class DynamicTest {
+
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/dynamictask.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/dynamictask.xml");
     }
 
+    @Test
     public void testSimple() {
-        executeTarget("simple");
-        assertEquals("1", project.getProperty("prop1"));
-        assertEquals("2", project.getProperty("prop2"));
-        assertEquals("3", project.getProperty("prop3"));
-        assertEquals("4", project.getProperty("prop4"));
+        buildRule.executeTarget("simple");
+        assertEquals("1", buildRule.getProject().getProperty("prop1"));
+        assertEquals("2", buildRule.getProject().getProperty("prop2"));
+        assertEquals("3", buildRule.getProject().getProperty("prop3"));
+        assertEquals("4", buildRule.getProject().getProperty("prop4"));
     }
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoTest.java Fri Apr 18 21:00:38 2014
@@ -18,28 +18,29 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import java.io.*;
-
-import junit.framework.TestCase;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintStream;
 
 import org.apache.tools.ant.DefaultLogger;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.util.FileUtils;
+import org.junit.After;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * Test Java-dependent parts of the Echo task.
  */
-public class EchoTest extends TestCase {
+public class EchoTest {
 
     private File removeThis;
-    /**
-     * Create a new EchoTest.
-     * @param name
-     */
-    public EchoTest(String name) {
-        super(name);
-    }
 
+    @Test
     public void testLogBlankEcho() {
         Project p = new Project();
         p.init();
@@ -52,7 +53,8 @@ public class EchoTest extends TestCase {
         assertEquals("[testLogBlankEcho] ", logger.lastLoggedMessage );
     }
 
-    public void testLogUTF8Echo() {
+    @Test
+    public void testLogUTF8Echo() throws IOException {
         Project p = new Project();
         p.init();
         EchoTestLogger logger = new EchoTestLogger();
@@ -65,15 +67,11 @@ public class EchoTest extends TestCase {
         echo.setFile(removeThis);
         echo.setEncoding("UTF-8");
         echo.execute();
-        FileUtils fu = FileUtils.getFileUtils();
-        try {
         String x = FileUtils.readFully(new InputStreamReader(new FileInputStream(removeThis), "UTF-8" ));
-            assertEquals(x,"\u00e4\u00a9");
-        } catch (Exception exc) {
-
-        }
+        assertEquals(x,"\u00e4\u00a9");
     }
 
+    @After
     public void tearDown() {
         if (removeThis != null && removeThis.exists()) {
             if (!removeThis.delete())

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoXMLTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoXMLTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoXMLTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/EchoXMLTest.java Fri Apr 18 21:00:38 2014
@@ -18,32 +18,54 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.apache.tools.ant.AntAssert.assertContains;
+import static org.junit.Assert.fail;
 
-public class EchoXMLTest extends BuildFileTest {
+public class EchoXMLTest {
 
-    public EchoXMLTest(String name) {
-        super(name);
-    }
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/echoxml.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/echoxml.xml");
     }
 
+    @After
     public void tearDown() {
-        executeTarget("tearDown");
+        buildRule.executeTarget("tearDown");
     }
 
+    @Test
     public void testPass() {
-        executeTarget("testPass");
+        buildRule.executeTarget("testPass");
     }
 
+    @Test
     public void testFail() {
-        expectBuildExceptionContaining("testFail", "must fail", "${foo}=bar");
+        try {
+            buildRule.executeTarget("testFail");
+            fail("BuildException expected: must fail");
+        } catch (BuildException ex) {
+            assertContains("${foo}=bar", ex.getMessage());
+        }
     }
 
+    @Test
     public void testEmpty() {
-        expectBuildExceptionContaining("testEmpty", "must fail", "No nested XML specified");
+        try {
+            buildRule.executeTarget("testEmpty");
+            fail("BuildException expected: must fail");
+        } catch (BuildException ex) {
+            assertContains("No nested XML specified", ex.getMessage());
+        }
     }
 
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java Fri Apr 18 21:00:38 2014
@@ -18,16 +18,31 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.util.FileUtils;
+import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.util.GregorianCalendar;
 
+import org.apache.tools.ant.BuildEvent;
+import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.BuildListener;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.ProjectHelper;
+import org.apache.tools.ant.util.FileUtils;
+import org.junit.Assume;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+
 /**
  * Unit test for the <exec> task.
  */
-public class ExecTaskTest extends BuildFileTest {
+public class ExecTaskTest {
+	
+	@Rule
+	public BuildFileRule buildRule = new BuildFileRule();
+	
     private static final String BUILD_PATH = "src/etc/testcases/taskdefs/exec/";
     private static final String BUILD_FILE = BUILD_PATH + "exec.xml";
     private static final int TIME_TO_WAIT = 1;
@@ -44,21 +59,19 @@ public class ExecTaskTest extends BuildF
     private MonitoredBuild myBuild = null;
     volatile private boolean buildFinished = false;
 
-    public ExecTaskTest(String name) {
-        super(name);
-    }
 
+    @Before
     public void setUp() {
-        configureProject(BUILD_FILE);
+        buildRule.configureProject(BUILD_FILE);
     }
 
-    public void testspawn() {
-        project.executeTarget("setUp");
-        if (project.getProperty("test.can.run") == null) {
-            return;
-        }
+    @Test
+    public void testspawn() throws InterruptedException {
+        buildRule.getProject().executeTarget("setUp");
+        Assume.assumeNotNull(buildRule.getProject().getProperty("test.can.run"));
         myBuild = new MonitoredBuild(new File(System.getProperty("root"), BUILD_FILE), "spawn");
-        logFile = FILE_UTILS.createTempFile("spawn", "log", getOutputDir(), false, false);
+        logFile = FILE_UTILS.createTempFile("spawn", "log", new File(buildRule.getProject().getProperty("output")),
+                false, false);
         // this is guaranteed by FileUtils#createTempFile
         assertTrue("log file not existing", !logFile.exists());
         // make the spawned process run 4 seconds
@@ -69,11 +82,7 @@ public class ExecTaskTest extends BuildF
         GregorianCalendar startwait = new GregorianCalendar();
         // this loop runs parallel to the build
         while (!buildFinished) {
-            try {
-                Thread.sleep(10);
-            } catch (InterruptedException e) {
-                System.out.println("my sleep was interrupted");
-            }
+            Thread.sleep(10);
             GregorianCalendar now = new GregorianCalendar();
             // security
             if (now.getTime().getTime() - startwait.getTime().getTime() > MAX_BUILD_TIME) {
@@ -84,11 +93,7 @@ public class ExecTaskTest extends BuildF
             }
         }
         // now wait until the spawned process is finished
-        try {
-            Thread.sleep((TIME_TO_WAIT) * 1000 + SECURITY_MARGIN);
-        } catch (InterruptedException e) {
-            System.out.println("my sleep was interrupted");
-        }
+        Thread.sleep((TIME_TO_WAIT) * 1000 + SECURITY_MARGIN);
         // time of the build in milli seconds
         long elapsed = myBuild.getTimeElapsed();
         assertTrue("we waited more than the process lasted",
@@ -97,29 +102,26 @@ public class ExecTaskTest extends BuildF
         assertTrue("log file found after spawn", logFile.exists());
     }
 
-    /* TODO #50507 - fails at least on Linux
+    @Test
+    @Ignore("#50507 - fails at least on Linux")
+    /* TODO #50507 - fails at least on Linux */
     public void testOutAndErr() {
-        project.executeTarget("test-out-and-err");
+        buildRule.getProject().executeTarget("test-out-and-err");
     }
-    */
 
     private static class MonitoredBuild implements Runnable {
         private Thread worker;
         private File myBuildFile = null;
         private String target = null;
         private Project project = null;
-        private int timeToWait = 0;
-        private String logFile = null;
         private GregorianCalendar timeStarted = null;
         private GregorianCalendar timeFinished = null;
 
         public void setLogFile(String logFile) {
-            this.logFile = logFile;
             project.setProperty("logFile", logFile);
         }
 
         public void setTimeToWait(int timeToWait) {
-            this.timeToWait = timeToWait;
             project.setProperty("timeToWait", Long.toString(timeToWait));
         }
 

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java Fri Apr 18 21:00:38 2014
@@ -23,14 +23,17 @@ import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.Path;
 import org.apache.tools.ant.types.Commandline;
 
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
 
 /**
  * Simple testcase for the ExecuteJava class - mostly stolen from
  * ExecuteWatchdogTest.
  *
  */
-public class ExecuteJavaTest extends TestCase {
+public class ExecuteJavaTest {
 
     private final static int TIME_OUT = 5000;
 
@@ -41,13 +44,10 @@ public class ExecuteJavaTest extends Tes
     private Project project;
     private Path cp;
 
-    public ExecuteJavaTest(String name) {
-        super(name);
-    }
-
-    protected void setUp(){
+    @Before
+    public void setUp(){
         ej = new ExecuteJava();
-        ej.setTimeout(new Long(TIME_OUT));
+        ej.setTimeout((long)TIME_OUT);
         project = new Project();
         project.setBasedir(".");
         project.setProperty(MagicNames.ANT_HOME, System.getProperty(MagicNames.ANT_HOME));
@@ -62,6 +62,7 @@ public class ExecuteJavaTest extends Tes
         return cmd;
     }
 
+    @Test
     public void testNoTimeOut() throws Exception {
         Commandline cmd = getCommandline(TIME_OUT/2);
         ej.setJavaCommand(cmd);
@@ -70,6 +71,7 @@ public class ExecuteJavaTest extends Tes
     }
 
     // test that the watchdog ends the process
+    @Test
     public void testTimeOut() throws Exception {
         Commandline cmd = getCommandline(TIME_OUT*2);
         ej.setJavaCommand(cmd);
@@ -86,7 +88,7 @@ public class ExecuteJavaTest extends Tes
                    elapsed < TIME_OUT*2);
     }
 
-
+    @Test
     public void testNoTimeOutForked() throws Exception {
         Commandline cmd = getCommandline(TIME_OUT/2);
         ej.setJavaCommand(cmd);
@@ -95,6 +97,7 @@ public class ExecuteJavaTest extends Tes
     }
 
     // test that the watchdog ends the process
+    @Test
     public void testTimeOutForked() throws Exception {
         Commandline cmd = getCommandline(TIME_OUT*2);
         ej.setJavaCommand(cmd);

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java Fri Apr 18 21:00:38 2014
@@ -18,17 +18,25 @@
 
 package org.apache.tools.ant.taskdefs;
 
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+
 import org.apache.tools.ant.util.JavaEnvUtils;
-import junit.framework.*;
-import java.io.*;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.internal.AssumptionViolatedException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Simple testcase for the ExecuteWatchdog class.
  *
  */
-public class ExecuteWatchdogTest extends TestCase {
+public class ExecuteWatchdogTest {
 
-    private final static long TIME_OUT = 5000;
+    private final static long TIME_OUT = 500;
 
     private final static String TEST_CLASSPATH = getTestClassPath();
 
@@ -37,17 +45,14 @@ public class ExecuteWatchdogTest extends
 
     private ExecuteWatchdog watchdog;
 
-    public ExecuteWatchdogTest(String name) {
-        super(name);
-    }
-
-    protected void setUp(){
+    @Before
+    public void setUp(){
         watchdog = new ExecuteWatchdog(TIME_OUT);
     }
 
     /**
      * Dangerous method to obtain the classpath for the test. This is
-     * severely tighted to the build.xml properties.
+     * severely tied to the build.xml properties.
      */
     private static String getTestClassPath(){
         String classpath = System.getProperty("build.tests");
@@ -90,6 +95,7 @@ public class ExecuteWatchdogTest extends
         return retcode;
     }
 
+    @Test
     public void testNoTimeOut() throws Exception {
         Process process = getProcess(TIME_OUT/2);
         watchdog.start(process);
@@ -99,6 +105,7 @@ public class ExecuteWatchdogTest extends
     }
 
     // test that the watchdog ends the process
+    @Test
     public void testTimeOut() throws Exception {
         Process process = getProcess(TIME_OUT*2);
         long now = System.currentTimeMillis();
@@ -112,6 +119,7 @@ public class ExecuteWatchdogTest extends
     }
 
     // test a process that runs and failed
+    @Test
     public void testFailed() throws Exception {
         Process process = getProcess(-1); // process should abort
         watchdog.start(process);
@@ -120,6 +128,7 @@ public class ExecuteWatchdogTest extends
         assertTrue("return code is invalid: " + retCode, retCode!=0);
     }
 
+    @Test
     public void testManualStop() throws Exception {
         final Process process = getProcess(TIME_OUT*2);
         watchdog.start(process);
@@ -131,7 +140,7 @@ public class ExecuteWatchdogTest extends
                         process.waitFor();
                     } catch(InterruptedException e){
                         // not very nice but will do the job
-                        fail("process interrupted in thread");
+                        throw new AssumptionViolatedException("process interrupted in thread", e);
                     }
                 }
         };

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FailTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FailTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FailTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FailTest.java Fri Apr 18 21:00:38 2014
@@ -19,57 +19,79 @@
 package org.apache.tools.ant.taskdefs;
 
 import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
 /**
  */
-public class FailTest extends BuildFileTest {
+public class FailTest {
 
-    public FailTest(String name) {
-        super(name);
-    }
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/fail.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/fail.xml");
     }
 
+    @Test
     public void test1() {
-        expectBuildExceptionContaining("test1",
-                "it is required to fail :-)",
-                "No message");
+        try {
+            buildRule.executeTarget("test1");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("No message", ex.getMessage());
+        }
     }
 
+    @Test
     public void test2() {
-        expectSpecificBuildException("test2",
-            "it is required to fail :-)",
-            "test2");
+        try {
+            buildRule.executeTarget("test2");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("test2", ex.getMessage());
+        }
     }
 
+    @Test
     public void testText() {
-        expectSpecificBuildException("testText",
-            "it is required to fail :-)",
-            "testText");
+        try {
+            buildRule.executeTarget("testText");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("testText", ex.getMessage());
+        }
     }
 
+    @Test
     public void testIf() {
+        buildRule.executeTarget("testIf");
+        buildRule.getProject().setProperty("foo", "");
         try {
-            executeTarget("testIf");
-        } catch (BuildException be) {
-            fail("foo has not been defined, testIf must not fail");
+            buildRule.executeTarget("testIf");
+            fail("testIf must fail if foo has been set") ;
+        } catch (BuildException ex) {
+            //TODO assert result
         }
-        project.setProperty("foo", "");
-        expectBuildException("testIf", "testIf must fail if foo has been set");
     }
 
+    @Test
     public void testUnless() {
-        expectBuildException("testUnless",
-                             "testUnless must fail unless foo has been set");
-        project.setProperty("foo", "");
-        try {
-            executeTarget("testUnless");
-        } catch (BuildException be) {
-            fail("foo has been defined, testUnless must not fail");
+        try {
+            buildRule.executeTarget("testUnless");
+            fail("testUnless must fail unless foo has been set") ;
+        } catch (BuildException ex) {
+            //TODO assert rules
         }
+        buildRule.getProject().setProperty("foo", "");
+        buildRule.executeTarget("testUnless");
+
     }
 
     /**
@@ -77,51 +99,58 @@ public class FailTest extends BuildFileT
      * that the autogenerated text contains information
      * about which condition was not met
      */
+    @Test
     public void testIfAndUnless() {
         //neither
-        executeTarget("testIfAndUnless");
-        project.setProperty("if", "");
-        expectBuildExceptionContaining("testIfAndUnless",
-                "expect fail on defined(if)",
-                "if=if and unless=unless");
-        project.setProperty("unless", "");
+        buildRule.executeTarget("testIfAndUnless");
+        buildRule.getProject().setProperty("if", "");
+        try {
+            buildRule.executeTarget("testIfAndUnless");
+            fail("expect fail on defined(if)") ;
+        } catch (BuildException ex) {
+            assertEquals("if=if and unless=unless", ex.getMessage());
+        }
+        buildRule.getProject().setProperty("unless", "");
         //this call should succeed as unless overrides if
-        executeTarget("testIfAndUnless");
+        buildRule.executeTarget("testIfAndUnless");
     }
     /**
      * see that the different combinations work, and
      * that the autogenerated text contains information
      * about which condition was not met
      */
+    @Test
     public void testIfAndUnless2() {
-        project.setProperty("unless", "");
-        try {
-            executeTarget("testIfAndUnless");
-        } catch (BuildException be) {
-            fail("defined(if) && !defined(unless); testIfAndUnless must not fail");
-        }
+        buildRule.getProject().setProperty("unless", "");
+        buildRule.executeTarget("testIfAndUnless");
     }
 
+    @Test
     public void testNested1() {
-        expectSpecificBuildException("testNested1",
-            "it is required to fail :-)",
-            "condition satisfied");
+        try {
+            buildRule.executeTarget("testNested1");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("condition satisfied", ex.getMessage());
+        }
     }
 
+    @Test
     public void testNested2() {
-        try {
-            executeTarget("testNested2");
-        } catch (BuildException be) {
-            fail("condition not satisfied; testNested2 must not fail");
-        }
+        buildRule.executeTarget("testNested2");
     }
 
+    @Test
     public void testNested3() {
-        expectSpecificBuildException("testNested3",
-            "it is required to fail :-)",
-            "testNested3");
+        try {
+            buildRule.executeTarget("testNested3");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("testNested3", ex.getMessage());
+        }
     }
 
+    @Test
     public void testNested4() {
         String specificMessage = "Nested conditions "
           + "not permitted in conjunction with if/unless attributes";
@@ -131,23 +160,36 @@ public class FailTest extends BuildFileT
 
         for (int i = 0; i < c.length; i++) {
             target.setCharAt(target.length() - 1, c[i]);
-            expectSpecificBuildException(target.toString(),
-                "it is required to fail :-)", specificMessage);
+            try {
+                buildRule.executeTarget(target.toString());
+                fail("it is required to fail :-)") ;
+            } catch (BuildException ex) {
+                assertEquals(specificMessage, ex.getMessage());
+            }
         }
     }
 
+    @Test
     public void testNested5() {
-        expectSpecificBuildException("testNested5",
-            "it is required to fail :-)",
-            "Only one nested condition is allowed.");
+        try {
+            buildRule.executeTarget("testNested5");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("Only one nested condition is allowed.", ex.getMessage());
+        }
     }
 
+    @Test
     public void testNested6() {
-        expectSpecificBuildException("testNested6",
-            "it is required to fail :-)",
-            "testNested6\ntestNested6\ntestNested6");
+        try {
+            buildRule.executeTarget("testNested6");
+            fail("it is required to fail :-)") ;
+        } catch (BuildException ex) {
+            assertEquals("testNested6\ntestNested6\ntestNested6", ex.getMessage());
+        }
     }
 
+    @Test
     public void testNested7() {
         String specificMessage = "A single nested condition is required.";
 
@@ -156,8 +198,12 @@ public class FailTest extends BuildFileT
 
         for (int i = 0; i < c.length; i++) {
             target.setCharAt(target.length() - 1, c[i]);
-            expectSpecificBuildException(target.toString(),
-                "it is required to fail :-)", specificMessage);
+            try {
+                buildRule.executeTarget(target.toString());
+                fail("it is required to fail :-)") ;
+            } catch (BuildException ex) {
+                assertEquals(specificMessage, ex.getMessage());
+            }
         }
     }
 

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FilterTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FilterTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FilterTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FilterTest.java Fri Apr 18 21:00:38 2014
@@ -23,67 +23,100 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
-import org.apache.tools.ant.BuildFileTest;
 
-/**
- */
-public class FilterTest extends BuildFileTest {
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 
-    public FilterTest(String name) {
-        super(name);
-    }
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+
+public class FilterTest {
+
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/filter.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/filter.xml");
     }
 
+    @After
     public void tearDown() {
-        executeTarget("cleanup");
+        buildRule.executeTarget("cleanup");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "required argument missing");
+        try {
+            buildRule.executeTarget("test1");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test2() {
-        expectBuildException("test2", "required argument missing");
+        try {
+            buildRule.executeTarget("test2");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test3() {
-        expectBuildException("test3", "required argument missing");
+        try {
+            buildRule.executeTarget("test3");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test4() {
-        executeTarget("test4");
+        buildRule.executeTarget("test4");
     }
 
+    @Test
     public void test5() {
-        executeTarget("test5");
+        buildRule.executeTarget("test5");
         assertEquals("2000",
                      getFilteredFile("5", "filtered.tmp"));
     }
 
 
+    @Test
     public void test6() {
-        executeTarget("test6");
+        buildRule.executeTarget("test6");
         assertEquals("2000",
                      getFilteredFile("6", "taskdefs.tmp/filter1.txt"));
     }
 
+    @Test
     public void test7() {
-        executeTarget("test7");
+        buildRule.executeTarget("test7");
         assertEquals("<%@ include file=\"root/some/include.jsp\"%>",
                      getFilteredFile("7", "filtered.tmp"));
     }
 
+    @Test
     public void test8() {
-        executeTarget("test8");
+        buildRule.executeTarget("test8");
         assertEquals("<%@ include file=\"root/some/include.jsp\"%>",
                      getFilteredFile("8", "taskdefs.tmp/filter2.txt"));
     }
 
+    @Test
     public void test9() {
-        executeTarget("test9");
+        buildRule.executeTarget("test9");
         assertEquals("included",
                     getFilteredFile("9", "taskdefs.tmp/filter3.txt"));
     }
@@ -91,7 +124,7 @@ public class FilterTest extends BuildFil
     private String getFilteredFile(String testNumber, String filteredFile) {
 
         String line = null;
-        File f = new File(getProjectDir(), filteredFile);
+        File f = new File(buildRule.getProject().getBaseDir(), filteredFile);
         if (!f.exists()) {
             fail("filter test"+testNumber+" failed");
         } else {

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FixCrLfTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FixCrLfTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FixCrLfTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/FixCrLfTest.java Fri Apr 18 21:00:38 2014
@@ -26,103 +26,136 @@ import java.io.InputStream;
 
 import junit.framework.AssertionFailedError;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.AntAssert;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
 /**
  */
-public class FixCrLfTest extends BuildFileTest {
+public class FixCrLfTest {
 
-    public FixCrLfTest(String name) {
-        super(name);
-    }
+    @Rule
+    public BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/fixcrlf/build.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/fixcrlf/build.xml");
     }
 
+    @Test
     public void test1() throws IOException {
-        executeTarget("test1");
+        buildRule.executeTarget("test1");
     }
 
+    @Test
     public void test2() throws IOException {
-        executeTarget("test2");
+        buildRule.executeTarget("test2");
     }
 
+    @Test
     public void test3() throws IOException {
-        executeTarget("test3");
+        buildRule.executeTarget("test3");
     }
 
+    @Test
     public void test4() throws IOException {
-        executeTarget("test4");
+        buildRule.executeTarget("test4");
     }
 
+    @Test
     public void test5() throws IOException {
-        executeTarget("test5");
+        buildRule.executeTarget("test5");
     }
 
+    @Test
     public void test6() throws IOException {
-        executeTarget("test6");
+        buildRule.executeTarget("test6");
     }
 
+    @Test
     public void test7() throws IOException {
-        executeTarget("test7");
+        buildRule.executeTarget("test7");
     }
 
+    @Test
     public void test8() throws IOException {
-        executeTarget("test8");
+        buildRule.executeTarget("test8");
     }
 
+    @Test
     public void test9() throws IOException {
-        executeTarget("test9");
+        buildRule.executeTarget("test9");
     }
 
+    @Test
     public void testMacLines() throws IOException {
-        executeTarget("testMacLines");
+        buildRule.executeTarget("testMacLines");
     }
 
+    @Test
     public void testNoOverwrite() throws IOException {
-        executeTarget("testNoOverwrite");
+        buildRule.executeTarget("testNoOverwrite");
     }
 
+    @Test
     public void testEncoding() throws IOException {
-        executeTarget("testEncoding");
+        buildRule.executeTarget("testEncoding");
     }
 
+    @Test
     public void testOutputEncoding() throws IOException {
-        executeTarget("testOutputEncoding");
+        buildRule.executeTarget("testOutputEncoding");
     }
 
+    @Test
     public void testLongLines() throws IOException {
-        executeTarget("testLongLines");
+        buildRule.executeTarget("testLongLines");
     }
 
+    @Test
     public void testCrCrLfSequenceUnix() throws IOException {
-        executeTarget("testCrCrLfSequence-unix");
+        buildRule.executeTarget("testCrCrLfSequence-unix");
     }
 
+    @Test
     public void testCrCrLfSequenceDos() throws IOException {
-        executeTarget("testCrCrLfSequence-dos");
+        buildRule.executeTarget("testCrCrLfSequence-dos");
     }
 
+    @Test
     public void testCrCrLfSequenceMac() throws IOException {
-        executeTarget("testCrCrLfSequence-mac");
+        buildRule.executeTarget("testCrCrLfSequence-mac");
     }
 
+    @Test
     public void testFixlastDos() throws IOException {
-        executeTarget("testFixlastDos");
+        buildRule.executeTarget("testFixlastDos");
     }
 
+    @Test
     public void testFixlastFalseMac() throws IOException {
-        executeTarget("testFixlastFalseMac");
+        buildRule.executeTarget("testFixlastFalseMac");
     }
 
+    @Test
     public void testFixFile() throws Exception {
-        executeTarget("testFixFile");
+        buildRule.executeTarget("testFixFile");
     }
 
+    @Test
     public void testFixFileExclusive() throws Exception {
-        expectBuildExceptionContaining("testFixFileExclusive",
-                FixCRLF.ERROR_FILE_AND_SRCDIR, FixCRLF.ERROR_FILE_AND_SRCDIR);
+        try {
+            buildRule.executeTarget("testFixFileExclusive");
+            fail(FixCRLF.ERROR_FILE_AND_SRCDIR);
+        } catch (BuildException ex) {
+            AntAssert.assertContains(FixCRLF.ERROR_FILE_AND_SRCDIR, ex.getMessage());
+        }
     }
 
     /**
@@ -131,59 +164,73 @@ public class FixCrLfTest extends BuildFi
      * Will fail with an exception if the parent directories do not
      * get created.
      */
+    @Test
     public void testCreateParentDirs() {
-        executeTarget("createParentDirs");
+        buildRule.executeTarget("createParentDirs");
     }
 
+    @Test
     public void testPreserveLastModified() {
-        executeTarget("testPreserveLastModified");
+        buildRule.executeTarget("testPreserveLastModified");
     }
 
+    @Test
     public void testFilter1() {
-        executeTarget("testFilter1");
+        buildRule.executeTarget("testFilter1");
     }
 
+    @Test
     public void testFilter2() {
-        executeTarget("testFilter2");
+        buildRule.executeTarget("testFilter2");
     }
 
+    @Test
     public void testFilter3() {
-        executeTarget("testFilter3");
+        buildRule.executeTarget("testFilter3");
     }
 
+    @Test
     public void testFilter4() {
-        executeTarget("testFilter4");
+        buildRule.executeTarget("testFilter4");
     }
 
+    @Test
     public void testFilter5() {
-        executeTarget("testFilter5");
+        buildRule.executeTarget("testFilter5");
     }
 
+    @Test
     public void testFilter6() {
-        executeTarget("testFilter6");
+        buildRule.executeTarget("testFilter6");
     }
 
+    @Test
     public void testFilter7() {
-        executeTarget("testFilter7");
+        buildRule.executeTarget("testFilter7");
     }
 
+    @Test
     public void testFilter8() {
-        executeTarget("testFilter8");
+        buildRule.executeTarget("testFilter8");
     }
 
+    @Test
     public void testFilter9() {
-        executeTarget("testFilter9");
+        buildRule.executeTarget("testFilter9");
     }
 
+    @Test
     public void testCannotDoubleEof() {
-        executeTarget("testCannotDoubleEof");
+        buildRule.executeTarget("testCannotDoubleEof");
     }
 
+    @Test
     public void testTabInLiteralInComment() {
-        executeTarget("testTabInLiteralInComment");
+        buildRule.executeTarget("testTabInLiteralInComment");
     }
 
     // not used, but public so theoretically must remain for BC?
+    @Deprecated
     public void assertEqualContent(File expect, File result)
         throws AssertionFailedError, IOException {
         if (!result.exists()) {

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GUnzipTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GUnzipTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GUnzipTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GUnzipTest.java Fri Apr 18 21:00:38 2014
@@ -17,54 +17,74 @@
  */
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
-import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.FileUtilities;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
-/**
- */
-public class GUnzipTest extends BuildFileTest {
-
-    /** Utilities used for file operations */
-    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
+public class GUnzipTest {
 
-    public GUnzipTest(String name) {
-        super(name);
-    }
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/gunzip.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/gunzip.xml");
     }
 
+    @After
     public void tearDown() {
-        executeTarget("cleanup");
+        buildRule.executeTarget("cleanup");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "required argument missing");
+        try {
+            buildRule.executeTarget("test1");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test2() {
-        expectBuildException("test2", "attribute src invalid");
+        try {
+            buildRule.executeTarget("test2");
+            fail("attribute src invalid");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void testRealTest() throws java.io.IOException {
         testRealTest("realTest");
     }
 
+    @Test
     public void testRealTestWithResource() throws java.io.IOException {
         testRealTest("realTestWithResource");
     }
 
     private void testRealTest(String target) throws java.io.IOException {
-        executeTarget(target);
-        assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"),
-                                           project.resolveFile("asf-logo.gif")));
+        buildRule.executeTarget(target);
+        assertEquals(FileUtilities.getFileContents(buildRule.getProject().resolveFile("../asf-logo.gif")),
+                FileUtilities.getFileContents(buildRule.getProject().resolveFile("asf-logo.gif")));
     }
 
+    @Test
     public void testTestGzipTask() throws java.io.IOException {
         testRealTest("testGzipTask");
     }
 
+    @Test
     public void testDocumentationClaimsOnCopy() throws java.io.IOException {
         testRealTest("testDocumentationClaimsOnCopy");
     }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GetTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GetTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GetTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GetTest.java Fri Apr 18 21:00:38 2014
@@ -18,58 +18,105 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
 
 /**
  */
-public class GetTest extends BuildFileTest {
+public class GetTest {
 
-    public GetTest(String name) {
-        super(name);
-    }
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/get.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/get.xml");
     }
 
+    @After
     public void tearDown() {
-        executeTarget("cleanup");
+        buildRule.executeTarget("cleanup");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "required argument missing");
+        try {
+            buildRule.executeTarget("test1");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test2() {
-        expectBuildException("test2", "required argument missing");
+        try {
+            buildRule.executeTarget("test2");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test3() {
-        expectBuildException("test3", "required argument missing");
+        try {
+            buildRule.executeTarget("test3");
+            fail("required argument missing");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test4() {
-        expectBuildException("test4", "src invalid");
+        try {
+            buildRule.executeTarget("test4");
+            fail("src invalid");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test5() {
-        expectBuildException("test5", "dest invalid (or no http-server on local machine)");
+        try {
+            buildRule.executeTarget("test5");
+            fail("dest invalid (or no http-server on local machine");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void test6() {
-        executeTarget("test6");
+        buildRule.executeTarget("test6");
     }
 
+    @Test
     public void test7() {
-        expectBuildException("test7", "userAgent may not be null or empty");
+        try {
+            buildRule.executeTarget("test7");
+            fail("userAgent may not be null or empty");
+        } catch (BuildException ex) {
+            //TODO assert value
+        }
     }
 
+    @Test
     public void testUseTimestamp() {
-        executeTarget("testUseTimestamp");
+        buildRule.executeTarget("testUseTimestamp");
     }
 
+    @Test
     public void testUseTomorrow() {
-        executeTarget("testUseTomorrow");
+        buildRule.executeTarget("testUseTomorrow");
     }
 
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GzipTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GzipTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GzipTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/GzipTest.java Fri Apr 18 21:00:38 2014
@@ -18,59 +18,96 @@
 
 package org.apache.tools.ant.taskdefs;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  */
-public class GzipTest extends BuildFileTest {
+public class GzipTest {
+    
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
-    public GzipTest(String name) {
-        super(name);
-    }
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/gzip.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/gzip.xml");
     }
 
+    @Test
     public void test1() {
-        expectBuildException("test1", "required argument missing");
+        try {
+			buildRule.executeTarget("test1");
+			fail("BuildException expected: required argument missing");
+		} catch (BuildException ex) {
+			//TODO assert value
+		}
     }
 
+    @Test
     public void test2() {
-        expectBuildException("test2", "required argument missing");
+        try {
+			buildRule.executeTarget("test2");
+			fail("BuildException expected: required argument missing");
+		} catch (BuildException ex) {
+			//TODO assert value
+		}
     }
 
+    @Test
     public void test3() {
-        expectBuildException("test3", "required argument missing");
+        try {
+			buildRule.executeTarget("test3");
+			fail("BuildException expected: required argument missing");
+		} catch (BuildException ex) {
+			//TODO assert value
+		}
     }
 
+    @Test
     public void test4() {
-        expectBuildException("test4", "zipfile must not point to a directory");
+        try {
+			buildRule.executeTarget("test4");
+			fail("BuildException expected: zipfile must not point to a directory");
+		} catch (BuildException ex) {
+			//TODO assert value
+		}
     }
 
+    @Test
     public void testGZip(){
-        executeTarget("realTest");
-        String log = getLog();
+        buildRule.executeTarget("realTest");
+        String log = buildRule.getLog();
         assertTrue("Expecting message starting with 'Building:' but got '"
             + log + "'", log.startsWith("Building:"));
         assertTrue("Expecting message ending with 'asf-logo.gif.gz' but got '"
             + log + "'", log.endsWith("asf-logo.gif.gz"));
     }
 
+    @Test
     public void testResource(){
-        executeTarget("realTestWithResource");
+        buildRule.executeTarget("realTestWithResource");
     }
 
+    @Test
     public void testDateCheck(){
-        executeTarget("testDateCheck");
-        String log = getLog();
+        buildRule.executeTarget("testDateCheck");
+        String log = buildRule.getLog();
         assertTrue(
             "Expecting message ending with 'asf-logo.gif.gz is up to date.' but got '" + log + "'",
             log.endsWith("asf-logo.gif.gz is up to date."));
     }
 
+    @After
     public void tearDown(){
-        executeTarget("cleanup");
+        buildRule.executeTarget("cleanup");
     }
 
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ImportTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ImportTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ImportTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ImportTest.java Fri Apr 18 21:00:38 2014
@@ -18,141 +18,141 @@
 
 package org.apache.tools.ant.taskdefs;
 
+import static org.apache.tools.ant.AntAssert.assertContains;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.File;
 import java.io.IOException;
 
 import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildFileRule;
 import org.apache.tools.ant.Location;
 import org.apache.tools.ant.Project;
-
-/**
- */
-public class ImportTest extends BuildFileTest {
-
-    public ImportTest(String name) {
-        super(name);
-    }
-
-    public void setUp() {
-    }
-
-    public void tearDown() {
-    }
-
+import org.junit.Assume;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+
+public class ImportTest {
+
+	@Rule
+	public BuildFileRule buildRule = new BuildFileRule();
+	
+	@Test
     public void testSimpleImport() {
-        configureProject("src/etc/testcases/taskdefs/import/import.xml");
-        assertLogContaining("Before importIn imported topAfter import");
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/import.xml");
+        assertContains("Before importIn imported topAfter import", buildRule.getLog());
     }
 
+	@Test
     public void testUnnamedNesting() {
-        configureProject("src/etc/testcases/taskdefs/import/unnamedImport.xml",
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/unnamedImport.xml",
                          Project.MSG_WARN);
-        String log = getLog();
+        String log = buildRule.getLog();
         assertTrue("Warnings logged when not expected: " + log,
                     log.length() == 0);
     }
 
+	@Test
     public void testSerial() {
-        configureProject("src/etc/testcases/taskdefs/import/subdir/serial.xml");
-        assertLogContaining("Unnamed2.xmlUnnamed1.xml");
-        String fullLog = getFullLog();
-        String substring = "Skipped already imported file";
-        assertTrue("expecting full log to contain \"" + substring
-            + "\" full log was \"" + fullLog + "\"",
-            fullLog.indexOf(substring) >= 0);
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/subdir/serial.xml");
+        assertContains("Unnamed2.xmlUnnamed1.xml", buildRule.getLog());
+        assertContains("Expected string was not found in log",
+        		"Skipped already imported file", buildRule.getFullLog());
     }
 
     // allow this as imported in targets are only tested when a target is run
-    public void testImportInTargetNoEffect() {
-        configureProject("src/etc/testcases/taskdefs/import/subdir/importintarget.xml");
-        expectPropertyUnset("no-import", "foo");
-        assertTrue(null == getProject().getReference("baz"));
+    @Test
+	public void testImportInTargetNoEffect() {
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/subdir/importintarget.xml");
+        buildRule.executeTarget("no-import");
+        assertNull(buildRule.getProject().getProperty("foo"));
+        assertNull(buildRule.getProject().getReference("baz"));
     }
 
-    // deactivate this test as imports within targets are not allowed
+    @Ignore("deactivate this test as imports within targets are not allowed")
+    @Test
     public void notTestImportInTargetWithEffect() {
-        configureProject("src/etc/testcases/taskdefs/import/subdir/importintarget.xml");
-        expectPropertySet("do-import", "foo", "bar");
-        assertNotNull(getProject().getReference("baz"));
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/subdir/importintarget.xml");
+        buildRule.executeTarget("do-import");
+        assertEquals(buildRule.getProject().getProperty("foo"), "bar");
+        assertNotNull(buildRule.getProject().getReference("baz"));
     }
 
+    @Test
     public void testImportInTargetNotAllowed() {
-        configureProject(
+        buildRule.configureProject(
             "src/etc/testcases/taskdefs/import/subdir/importintarget.xml");
-        expectBuildExceptionContaining(
-            "do-import", "not a top level task",
-            "import only allowed as a top-level task");
+        try {
+        	buildRule.executeTarget("do-import");
+        	fail("Build exception should have been thrown as import only allowed in top level task");
+        } catch(BuildException ex) {
+        	assertContains( "not a top level task", "import only allowed as a top-level task", ex.getMessage());
+        }
     }
 
+    @Test
     public void testImportInSequential() {
-        configureProject(
+        buildRule.configureProject(
             "src/etc/testcases/taskdefs/import/subdir/importinsequential.xml");
-        expectPropertySet("within-imported", "foo", "bar");
-        assertNotNull(getProject().getReference("baz"));
+        buildRule.executeTarget("within-imported");
+        assertEquals(buildRule.getProject().getProperty("foo"), "bar");
+        assertNotNull(buildRule.getProject().getReference("baz"));
     }
 
+    @Test
     public void testImportSameTargets() {
         try {
-            configureProject(
+            buildRule.configureProject(
                 "src/etc/testcases/taskdefs/import/same_target.xml");
+            fail("Expected build exception");
         } catch (BuildException ex) {
-            String message = ex.getMessage();
-            if (message.indexOf("Duplicate target") == -1) {
-                assertTrue("Did not see 'Duplicate target' in '" + message +"'", false);
-            }
-            return;
-        }
-        assertTrue(
-            "Did not see build exception",
-            false);
+        	assertContains("Message did not contain expected contents", "Duplicate target", ex.getMessage());
+        }
     }
 
+    @Test
     public void testImportError() {
         try {
-            configureProject(
+            buildRule.configureProject(
                 "src/etc/testcases/taskdefs/import/import_bad_import.xml");
+            fail("Build exception should have been thrown");
         } catch (BuildException ex) {
             Location lo = ex.getLocation();
-            assertTrue(
-                "expected location of build exception to be set",
-                (lo != null));
-            assertTrue(
-                "expected location to contain calling file",
-                lo.getFileName().indexOf("import_bad_import.xml") != -1);
-            assertTrue(
-                "expected message of ex to contain called file",
-                ex.getMessage().indexOf("bad.xml") != -1);
-            return;
-        }
-        assertTrue(
-            "Did not see build exception",
-            false);
+            assertNotNull(
+                "expected location of build exception to be set", lo);
+            assertContains(
+                "expected location to contain calling file", "import_bad_import.xml", lo.getFileName());
+            assertContains(
+                "expected message of ex to contain called file", "bad.xml", ex.getMessage());
+        }
     }
 
+    @Test
     public void testSymlinkedImports() throws Exception {
         String ln = "/usr/bin/ln";
         if (!new File(ln).exists()) {
             ln = "/bin/ln";
         }
-        if (!new File(ln).exists()) {
-            // Running on Windows or something, so skip it.
-            return;
-        }
+        Assume.assumeTrue("Current system does not support Symlinks", new File(ln).exists());
         String symlink = "src/etc/testcases/taskdefs/import/symlinks/d3b";
         File symlinkFile = new File(System.getProperty("root"), symlink);
         if (Runtime.getRuntime().exec(new String[] {ln, "-s", "d3a", symlinkFile.getAbsolutePath()}).waitFor() != 0) {
             throw new IOException("'" + ln + " -s d3a " + symlink + "' failed");
         }
         try {
-            configureProject(
+            buildRule.configureProject(
                 "src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml");
-            assertPropertyEquals(
-                "ant.file.p2",
+            assertEquals(
+                buildRule.getProject().getProperty("ant.file.p2"),
                 new File(System.getProperty("root"), "src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml")
                 .getAbsolutePath());
-            assertPropertyEquals(
-                "ant.file.p3",
+            assertEquals(
+                buildRule.getProject().getProperty("ant.file.p3"),
                 new File(System.getProperty("root"), "src/etc/testcases/taskdefs/import/symlinks/d3b/p3.xml")
                 .getAbsolutePath());
         } finally {
@@ -160,13 +160,15 @@ public class ImportTest extends BuildFil
         }
     }
 
+    @Test
     public void testTargetFirst() {
-        configureProject("src/etc/testcases/taskdefs/import/importtargetfirst.xml");
-        assertLogContaining("Importing targetfirstAfter target firstAfter importing");
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/importtargetfirst.xml");
+        assertContains("Importing targetfirstAfter target firstAfter importing", buildRule.getLog());
     }
 
+    @Test
     public void testTargetName() {
-        configureProject("src/etc/testcases/taskdefs/import/c.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/import/c.xml");
     }
 
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InitializeClassTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InitializeClassTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InitializeClassTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InitializeClassTest.java Fri Apr 18 21:00:38 2014
@@ -22,41 +22,54 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintStream;
-import org.apache.tools.ant.BuildFileTest;
-import org.apache.tools.ant.util.FileUtils;
+
+import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.FileUtilities;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * Test to see if static initializers are invoked the same way
  * when <java> is invoked in forked and unforked modes.
  *
  */
-public class InitializeClassTest extends BuildFileTest {
+public class InitializeClassTest {
 
-    /** Utilities used for file operations */
-    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
 
     private File f1 = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/forkedout");
     private File f2 = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/unforkedout");
 
-    public InitializeClassTest(String name) {
-        super(name);
-    }
 
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/initializeclass.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/initializeclass.xml");
     }
 
+    @Test
     public void testAll() throws IOException {
-        executeTarget("forked");
-        PrintStream ps = System.out;
-        PrintStream newps = new PrintStream(new FileOutputStream(f2));
-        System.setOut(newps);
-        project.executeTarget("unforked");
-        System.setOut(ps);
-        newps.close();
-        assertTrue("Forked - non-forked mismatch", FILE_UTILS.contentEquals(f1, f2));
+        buildRule.executeTarget("forked");
+        synchronized (System.out) {
+            PrintStream ps = System.out;
+            PrintStream newps = new PrintStream(new FileOutputStream(f2));
+             try {
+                 System.setOut(newps);
+                 buildRule.getProject().executeTarget("unforked");
+             } finally {
+                 System.setOut(ps);
+
+                 newps.close();
+             }
+        }
+        assertEquals(FileUtilities.getFileContents(f1), FileUtilities.getFileContents(f2));
     }
 
+    @After
     public void tearDown() {
         f1.delete();
         f2.delete();

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InputTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InputTest.java?rev=1588563&r1=1588562&r2=1588563&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InputTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/InputTest.java Fri Apr 18 21:00:38 2014
@@ -19,88 +19,108 @@
 package org.apache.tools.ant.taskdefs;
 
 import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
 import org.apache.tools.ant.input.PropertyFileInputHandler;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
-public class InputTest extends BuildFileTest {
 
-    public InputTest(String name) {
-        super(name);
-    }
+public class InputTest {
+
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
+
+    private InputStream originalStdIn;
 
+
+    @Before
     public void setUp() {
-        configureProject("src/etc/testcases/taskdefs/input.xml");
+        buildRule.configureProject("src/etc/testcases/taskdefs/input.xml");
         System.getProperties()
             .put(PropertyFileInputHandler.FILE_NAME_KEY,
-                 getProject().resolveFile("input.properties")
+                 buildRule.getProject().resolveFile("input.properties")
                  .getAbsolutePath());
-        getProject().setInputHandler(new PropertyFileInputHandler());
+        buildRule.getProject().setInputHandler(new PropertyFileInputHandler());
+        originalStdIn = System.in;
+    }
+
+    @After
+    public void tearDown() {
+        System.setIn(originalStdIn);
     }
 
+    @Test
     public void test1() {
-        executeTarget("test1");
+        buildRule.executeTarget("test1");
     }
 
+    @Test
     public void test2() {
-        executeTarget("test2");
+        buildRule.executeTarget("test2");
     }
 
+    @Test
     public void test3() {
-        expectSpecificBuildException("test3", "invalid input",
-                                     "Found invalid input test for \'"
-                                     + getKey("All data is"
-                                              + " going to be deleted from DB"
-                                              + " continue?")
-                                     + "\'");
+        try {
+            buildRule.executeTarget("test3");
+            fail("BuildException expected: invalid input");
+        } catch (BuildException ex) {
+             assertEquals("Found invalid input test for 'All data is going to be deleted from DB continue?'",
+                     ex.getMessage());
+        }
     }
 
+    @Test
     public void test5() {
-        executeTarget("test5");
+        buildRule.executeTarget("test5");
     }
 
+    @Test
     public void test6() {
-        executeTarget("test6");
-        assertEquals("scott", project.getProperty("db.user"));
+        buildRule.executeTarget("test6");
+        assertEquals("scott", buildRule.getProject().getProperty("db.user"));
     }
 
+    @Test
     public void testPropertyFileInlineHandler() {
-        executeTarget("testPropertyFileInlineHandler");
+        buildRule.executeTarget("testPropertyFileInlineHandler");
     }
 
-    public void testDefaultInlineHandler() {
+    @Test
+    public void testDefaultInlineHandler() throws IOException {
         stdin();
-        executeTarget("testDefaultInlineHandler");
+        buildRule.executeTarget("testDefaultInlineHandler");
     }
 
-    public void testGreedyInlineHandler() {
+    @Test
+    public void testGreedyInlineHandler() throws IOException {
         stdin();
-        executeTarget("testGreedyInlineHandler");
+        buildRule.executeTarget("testGreedyInlineHandler");
     }
 
-    public void testGreedyInlineHandlerClassname() {
+    @Test
+    public void testGreedyInlineHandlerClassname() throws IOException {
         stdin();
-        executeTarget("testGreedyInlineHandlerClassname");
+        buildRule.executeTarget("testGreedyInlineHandlerClassname");
     }
 
-    public void testGreedyInlineHandlerRefid() {
+    @Test
+    public void testGreedyInlineHandlerRefid() throws IOException {
         stdin();
-        executeTarget("testGreedyInlineHandlerRefid");
-    }
-
-    private void stdin() {
-        try {
-            System.setIn(new FileInputStream(
-                getProject().resolveFile("input.stdin")));
-        } catch (Exception e) {
-            throw e instanceof RuntimeException
-                ? (RuntimeException) e : new RuntimeException(e.getMessage());
-        }
+        buildRule.executeTarget("testGreedyInlineHandlerRefid");
     }
 
-    private String getKey(String key) {
-        return key; // TODO what is this for?
+    private void stdin() throws IOException {
+        System.setIn(new FileInputStream(buildRule.getProject().resolveFile("input.stdin")));
     }
 
 }