You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by gi...@apache.org on 2018/03/05 20:37:12 UTC

ant git commit: Keep tests simple and explicit

Repository: ant
Updated Branches:
  refs/heads/master ecc6994f7 -> ac23269e0


Keep tests simple and explicit

Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/ac23269e
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/ac23269e
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/ac23269e

Branch: refs/heads/master
Commit: ac23269e0b64e49d4928791fce51f525740c962e
Parents: ecc6994
Author: Gintas Grigelionis <gi...@apache.org>
Authored: Mon Mar 5 21:34:27 2018 +0100
Committer: Gintas Grigelionis <gi...@apache.org>
Committed: Mon Mar 5 21:35:14 2018 +0100

----------------------------------------------------------------------
 .../tools/ant/taskdefs/RmicAdvancedTest.java    | 177 +++++++++++--------
 1 file changed, 104 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant/blob/ac23269e/src/tests/junit/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java
index 1766a74..245526a 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java
@@ -29,9 +29,10 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeFalse;
+import static org.junit.Assume.assumeTrue;
 
 /**
  * Date: 04-Aug-2004
@@ -44,6 +45,9 @@ public class RmicAdvancedTest {
     @Rule
     public BuildFileRule buildRule = new BuildFileRule();
 
+    @Rule
+    public ExpectedException tried = ExpectedException.none();
+
     /**
      * The JUnit setup method
      */
@@ -198,12 +202,9 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testBadName() throws Exception {
-        try {
-            buildRule.executeTarget("testBadName");
-            fail("Compile not known");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(RmicAdapterFactory.ERROR_UNKNOWN_COMPILER, ex.getMessage());
-        }
+        tried.expect(BuildException.class);
+        tried.expectMessage(RmicAdapterFactory.ERROR_UNKNOWN_COMPILER);
+        buildRule.executeTarget("testBadName");
     }
 
     /**
@@ -219,12 +220,9 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testWrongClass() throws Exception {
-        try {
-            buildRule.executeTarget("testWrongClass");
-            fail("Class not an RMIC adapter");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(RmicAdapterFactory.ERROR_NOT_RMIC_ADAPTER, ex.getMessage());
-        }
+        tried.expect(BuildException.class);
+        tried.expectMessage(RmicAdapterFactory.ERROR_NOT_RMIC_ADAPTER);
+        buildRule.executeTarget("testWrongClass");
     }
 
     /**
@@ -232,14 +230,14 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testDefaultBadClass() throws Exception {
+        tried.expect(BuildException.class);
+        tried.expectMessage(Rmic.ERROR_RMIC_FAILED);
         try {
             buildRule.executeTarget("testDefaultBadClass");
-            fail("expected the class to fail");
-        } catch(BuildException ex) {
-            AntAssert.assertContains(Rmic.ERROR_RMIC_FAILED, ex.getMessage());
+        } finally {
+            // don't look for much text here as it is vendor and version dependent
+            AntAssert.assertContains("unimplemented.class", buildRule.getLog());
         }
-        //dont look for much text here as it is vendor and version dependent
-        AntAssert.assertContains("unimplemented.class", buildRule.getLog());
     }
 
     /**
@@ -247,12 +245,9 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testMagicProperty() throws Exception {
-        try {
-            buildRule.executeTarget("testMagicProperty");
-            fail("Magic property not working");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(RmicAdapterFactory.ERROR_UNKNOWN_COMPILER, ex.getMessage());
-        }
+        tried.expect(BuildException.class);
+        tried.expectMessage(RmicAdapterFactory.ERROR_UNKNOWN_COMPILER);
+        buildRule.executeTarget("testMagicProperty");
     }
 
     /**
@@ -260,12 +255,9 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testMagicPropertyOverridesEmptyString() throws Exception {
-        try {
-            buildRule.executeTarget("testMagicPropertyOverridesEmptyString");
-            fail("Magic property not working");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(RmicAdapterFactory.ERROR_UNKNOWN_COMPILER, ex.getMessage());
-        }
+        tried.expect(BuildException.class);
+        tried.expectMessage(RmicAdapterFactory.ERROR_UNKNOWN_COMPILER);
+        buildRule.executeTarget("testMagicPropertyOverridesEmptyString");
     }
 
     @Test
@@ -276,12 +268,9 @@ public class RmicAdvancedTest {
     @Test
     @Ignore("Previously named to prevent execution")
     public void NotestFailingAdapter() throws Exception {
-        try {
-            buildRule.executeTarget("testFailingAdapter");
-            fail("Expected failures to propagate");
-        } catch (BuildException ex) {
-            AntAssert.assertContains(Rmic.ERROR_RMIC_FAILED, ex.getMessage());
-        }
+        tried.expect(BuildException.class);
+        tried.expectMessage(Rmic.ERROR_RMIC_FAILED);
+        buildRule.executeTarget("testFailingAdapter");
     }
 
     /**
@@ -349,7 +338,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testXnewForked() throws Exception {
-        xnewTest("testXnewForked");
+        assumeFalse("Current system is Java 8 or older", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        buildRule.executeTarget("testXnewForked");
+    }
+
+    @Test
+    public void testXnewForkedJava9plus() throws Exception {
+        assumeTrue("Current system is Java 9 or newer", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        tried.expect(BuildException.class);
+        tried.expectMessage("JDK9 has removed support for -Xnew");
+        buildRule.executeTarget("testXnewForked");
     }
 
     /**
@@ -359,7 +357,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testXnewForkedDest() throws Exception {
-        xnewTest("testXnewForkedDest");
+        assumeFalse("Current system is Java 8 or older", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        buildRule.executeTarget("testXnewForkedDest");
+    }
+
+    @Test
+    public void testXnewForkedDestJava9plus() throws Exception {
+        assumeTrue("Current system is Java 9 or newer", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        tried.expect(BuildException.class);
+        tried.expectMessage("JDK9 has removed support for -Xnew");
+        buildRule.executeTarget("testXnewForkedDest");
     }
 
     /**
@@ -369,7 +376,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testXnewCompiler() throws Exception {
-        xnewTest("testXnewCompiler");
+        assumeFalse("Current system is Java 8 or older", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        buildRule.executeTarget("testXnewCompiler");
+    }
+
+    @Test
+    public void testXnewCompilerJava9plus() throws Exception {
+        assumeTrue("Current system is Java 9 or newer", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        tried.expect(BuildException.class);
+        tried.expectMessage("JDK9 has removed support for -Xnew");
+        buildRule.executeTarget("testXnewCompiler");
     }
 
     /**
@@ -379,7 +395,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testXnewCompilerDest() throws Exception {
-        xnewTest("testXnewCompilerDest");
+        assumeFalse("Current system is Java 8 or older", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        buildRule.executeTarget("testXnewCompilerDest");
+    }
+
+    @Test
+    public void testXnewCompilerDestJava9plus() throws Exception {
+        assumeTrue("Current system is Java 9 or newer", JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+        tried.expect(BuildException.class);
+        tried.expectMessage("JDK9 has removed support for -Xnew");
+        buildRule.executeTarget("testXnewCompilerDest");
     }
 
     /**
@@ -389,7 +414,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testIDL() throws Exception {
-        corbaTest("testIDL");
+        assumeFalse("Current system is Java 10 or older", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        buildRule.executeTarget("testIDL");
+    }
+
+    @Test
+    public void testIDLJava11plus() throws Exception {
+        assumeTrue("Current system is Java 11 or newer", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        tried.expect(BuildException.class);
+        tried.expectMessage("this rmic implementation doesn't support the -idl switch");
+        buildRule.executeTarget("testIDL");
     }
 
     /**
@@ -399,9 +433,18 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testIDLDest() throws Exception {
-        corbaTest("testIDLDest");
+        assumeFalse("Current system is Java 10 or older", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        buildRule.executeTarget("testIDLDest");
     }
 
+    @Test
+    public void testIDLDestJava11plus() throws Exception {
+        assumeTrue("Current system is Java 11 or newer", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        tried.expect(BuildException.class);
+        tried.expectMessage("this rmic implementation doesn't support the -idl switch");
+        buildRule.executeTarget("testIDL");
+   }
+
     /**
      * test that verifies that IIOP compiles.
      *
@@ -409,7 +452,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testIIOP() throws Exception {
-        corbaTest("testIIOP");
+        assumeFalse("Current system is Java 10 or older", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        buildRule.executeTarget("testIIOP");
+    }
+
+    @Test
+    public void testIIOPJava11plus() throws Exception {
+        assumeTrue("Current system is Java 11 or newer", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        tried.expect(BuildException.class);
+        tried.expectMessage("this rmic implementation doesn't support the -iiop switch");
+        buildRule.executeTarget("testIIOP");
     }
 
     /**
@@ -419,37 +471,16 @@ public class RmicAdvancedTest {
      */
     @Test
     public void testIIOPDest() throws Exception {
-        corbaTest("testIIOPDest");
-    }
-
-    private void xnewTest(String target) {
-        if (!JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9)) {
-            buildRule.executeTarget(target);
-        } else {
-            try {
-                buildRule.executeTarget(target);
-                fail("Target should have thrown a BuildException");
-            } catch (BuildException ex) {
-                assertEquals("JDK9 has removed support for -Xnew", ex.getMessage());
-            }
-        }
+        assumeFalse("Current system is Java 10 or older", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        buildRule.executeTarget("testIIOPDest");
     }
 
-    private void corbaTest(String target) {
-        if (!JavaEnvUtils.isAtLeastJavaVersion("11")) {
-            buildRule.executeTarget(target);
-        } else {
-            try {
-                buildRule.executeTarget(target);
-                fail("Target should have thrown a BuildException");
-            } catch (BuildException ex) {
-                if (target.indexOf("IDL") > -1) {
-                    assertEquals("this rmic implementation doesn't support the -idl switch", ex.getMessage());
-                } else {
-                    assertEquals("this rmic implementation doesn't support the -iiop switch", ex.getMessage());
-                }
-            }
-        }
+    @Test
+    public void testIIOPDestJava11plus() throws Exception {
+        assumeTrue("Current system is Java 11 or newer", JavaEnvUtils.isAtLeastJavaVersion("11"));
+        tried.expect(BuildException.class);
+        tried.expectMessage("this rmic implementation doesn't support the -iiop switch");
+        buildRule.executeTarget("testIIOP");
     }
 
     /**