jtreg test case for failing VM option?
Stuart Marks
stuart.marks at oracle.com
Fri Aug 23 09:21:24 PDT 2013
Hi, yes, this is probably as much of a test of the testlibrary as
anything. It should be about two lines of code to do what you want. If
it isn't, then the testlibrary needs work!
Let us know.
s'marks
On 8/23/13 4:18 AM, Aleksey Shipilev wrote:
> 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