jtreg test case for failing VM option?
Aleksey Shipilev
aleksey.shipilev at oracle.com
Fri Aug 23 04:18:54 PDT 2013
Uhgm. So the answer is to use testlibrary/ProcessBuilder to invoke VM.
Thanks!
-Aleksey.
On 08/22/2013 12:38 AM, Jonathan Gibbons wrote:
> In general, using /fail is a very weak test and can lead to false
> positives,
> since *any* failure could cause the test to appear to succeed. In general,
> you'll do better to write a test that explicitly tests for the expected
> failure
> mode, and only fails if that is not found.
>
> -- Jon
>
>
> On 08/21/2013 12:56 PM, Jonathan Gibbons wrote:
>> Write a /samevm test to exec a VM and check for the desired failure mode.
>>
>> -- Jon
>>
>>
>> On 08/21/2013 11:37 AM, Aleksey Shipilev wrote:
>>> Hi,
>>>
>>> I want to write the test for the failing VM option, i.e. write the test
>>> for acceptable ranges for particular option. This is the test I have in
>>> hand:
>>>
>>> /*
>>> * @test
>>> * @bug 8006997
>>> * @summary ContendedPaddingWidth should be range-checked
>>> *
>>> * @run main/othervm/fail -XX:-RestrictContended
>>> -XX:ContendedPaddingWidth=-1 Options
>>> */
>>> public class Options {
>>> public static void main(String[] args) throws Exception {
>>> System.out.println("Test PASSES");
>>> }
>>> }
>>>
>>> I was tempted to think /fail will invert the behavior for the test, and
>>> if VM exits with non-zero exit code, it counts the test as passed.
>>> However, jtreg marks this test as failed, because:
>>>
>>> ----------System.err:(4/215)----------
>>> ContendedPaddingWidth=-1 must be the between 0 and 8192
>>> ContendedPaddingWidth=-1 must be the multiple of 8
>>> Error: Could not create the Java Virtual Machine.
>>> Error: A fatal exception has occurred. Program will exit.
>>> result: Failed. Unexpected exit from test [exit code: 1]
>>>
>>> Is there a proper way to make the test like this?
>>>
>>> -Aleksey.
>>
>
More information about the jtreg-use
mailing list