|
|
@@ -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"); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|