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