Today when you have multiple jtreg run sections in a test, each run gets an automated id that match the location in the file. For example:
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id0
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id1
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id2
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id3
The path to the test plus the id can be used to problem lists the test. Say that id3 matches a run done with ZGC, and we need to problem list this test with ZGC, then the problem list would contain:
gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id3
The problem is when someone adds a new run section before that, then all the ids will be shifted and #id3 doesn't correspond to the ZGC run anymore. A similar problem occurs if two run sections are swapped.
I propose that we refrain from using the automatically generated ids when problem listing tests. Instead we add explicit ids like this:
* @test id=Z
An additional benefit of doing this is that it will be easier to see what was actually run:
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#G1
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#Parallel
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#Serial
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#Z
I've gone through the tests in the HotSpot problem lists + some that affects ZGC.
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id0
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id1
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id2
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id3
The path to the test plus the id can be used to problem lists the test. Say that id3 matches a run done with ZGC, and we need to problem list this test with ZGC, then the problem list would contain:
gc/stringdedup/TestStringDeduplicationAgeThreshold.java#id3
The problem is when someone adds a new run section before that, then all the ids will be shifted and #id3 doesn't correspond to the ZGC run anymore. A similar problem occurs if two run sections are swapped.
I propose that we refrain from using the automatically generated ids when problem listing tests. Instead we add explicit ids like this:
* @test id=Z
An additional benefit of doing this is that it will be easier to see what was actually run:
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#G1
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#Parallel
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#Serial
Passed: gc/stringdedup/TestStringDeduplicationAgeThreshold.java#Z
I've gone through the tests in the HotSpot problem lists + some that affects ZGC.