diff options
-rw-r--r-- | tests/ajcHarnessTests.xml | 22 | ||||
-rw-r--r-- | tests/harness/SystemPropertiesTest.java | 15 |
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/ajcHarnessTests.xml b/tests/ajcHarnessTests.xml index d3534b01d..56c098a38 100644 --- a/tests/ajcHarnessTests.xml +++ b/tests/ajcHarnessTests.xml @@ -439,6 +439,28 @@ <dir-changes updated="Removed"/> </inc-compile> </ajc-test> + + <ajc-test dir="harness" + keywords="expect-fail" + title="fail not forking or setting property"> + <compile files="SystemPropertiesTest.java"/> + <run class="SystemPropertiesTest" fork="false"/> + </ajc-test> + + <ajc-test dir="harness" + keywords="expect-fail" + title="fail fork without setting property"> + <compile files="SystemPropertiesTest.java"/> + <run class="SystemPropertiesTest" fork="true"/> + </ajc-test> + + <ajc-test dir="harness" + title="pass fork and set property"> + <compile files="SystemPropertiesTest.java"/> + <run class="SystemPropertiesTest" + fork="true" + vmargs="-DPASS=true,-Dname=value"/> + </ajc-test> </suite> diff --git a/tests/harness/SystemPropertiesTest.java b/tests/harness/SystemPropertiesTest.java new file mode 100644 index 000000000..d02985f88 --- /dev/null +++ b/tests/harness/SystemPropertiesTest.java @@ -0,0 +1,15 @@ + +public class SystemPropertiesTest { + public static void main(String[] args) { + boolean pass = Boolean.getBoolean("PASS"); + if (!pass) { + throw new Error("failed to get Boolean \\\"PASS\\\""); + } + String value = System.getProperty("name", null); + if (!"value".equals(value)) { + throw new Error("failed to get name=\"value\": " + value); + } + } +} + + |