RFR (smallish?) 8061611: Remove deprecated command line flags

Derek White derek.white at oracle.com
Mon Dec 15 22:24:38 UTC 2014


FYI -

New webrev shows splitting regression test into simpler alias and 
deprecation tests...

http://cr.openjdk.java.net/~drwhite/8061611/webrev.03/

  - Derek

On 12/15/14 1:04 PM, Derek White wrote:
> Thanks Bengt - comments below...
>
> On 12/15/14 7:51 AM, Bengt Rutisson wrote:
>> Hi Derek,
>>
>> On 2014-12-12 15:35, Derek White wrote:
>>> This is a request for final re-review.
>>>
>>> Updated for comments, and added regression test for arguments. This 
>>> test is a bit overkill for this bug, but it's extensible for other 
>>> deprecated and aliased options.
>>>
>>> Re-merged with tree.
>>>
>>> Webrev: http://cr.openjdk.java.net/~drwhite/8061611/webrev.01/
>>
>> The code changes look good to me.
>>
>> A few comments about the test.
>>
>> I don't think it is worth testing that the removed flags produce 
>> error messages. Starting a VM takes some time and doing it 13 times 
>> just to check that no one by mistake added the flags back seems like 
>> a waste of resources to me. The risk that the flags are suddenly 
>> added back is almost zero, right?
> OK.
>> I am also not convinced that a general and extensible test is the way 
>> to go here. I think I would prefer a more specific test for the flags 
>> that were deprecated now. For tests I think it is more important that 
>> the tests are easily readable and understandable than that code 
>> duplication is avoided. Thus, I strongly prefer small but specific 
>> tests that clearly communicates what went wrong when they fail and 
>> are easy to understand how they failed. So, in this case maybe we 
>> should even have two tests? TestDeprecatedMarkStackFlags and 
>> TestDeprecatedConcGCThreadsFlags.
>
> OK. I'm trying to calibrate how much testing is appropriate and how it 
> should be organized. In fact, the other organizing principle was to be 
> more "process oriented" - one (or more) regression tests per bug 
> fixed. And regression tests would be essentially immutable - never 
> expanded to test new cases. Is that about right?
>
> So to make the tests simpler, but bug specific, how about I break them 
> up for one test to test aliases, and one test to test deprecation 
> warnings?
>> Instead of parsing the PrintFlagsFinal output you could use 
>> ManagementFactoryHelper.getDiagnosticMXBean().getVMOption() to get 
>> the option values and check if they are set correctly. I think that 
>> will reduce the number of lines in the test further.
>
> PrintFlagsFinal has the added benefit of noting that a flag was 
> explicitly set vs. has a default value. (":=" vs "="). I first used 
> bizzare option values to try to test that, but ":=" is definitive.
>
> BTW, a motivation for the alias tests was thinking ahead to the redo 
> of "alias" options that I'm planning. I'll want to test that the new 
> alias handling code actually works for the remaining aliased options. 
> But that can get it's own test file.
>
> Thanks again!
>
>  - Derek

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20141215/96e8718c/attachment.htm>


More information about the hotspot-gc-dev mailing list