On Wed, 7 Jan 2026 03:35:08 GMT, Alexander Matveev <[email protected]> wrote:

>> Alexey Semenyuk has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   test/Executor: minor fix
>
> test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/CommandOutputControlTest.java
>  line 698:
> 
>> 696:     private static List<OutputTestSpec> testSomeSavedOutput() {
>> 697:         var testIds = List.<Integer>of(/* 10, 67, 456 */);
>> 698:         if (testIds.isEmpty()) {
> 
> Can you explain what this method do? `testIds` is always empty, so not sure 
> what it tries to do.

This method is for debugging individual `testSavedOutput()` test cases. It is 
disabled by default. If you replace `/* 10, 67, 456 */` with the index(es) of a 
specific `testSavedOutput()` test case(s), the test will run only selected test 
cases instead of running all of them.

The total number of `testSavedOutput()` test cases is ~1500. When some fail and 
need debugging, it is a waste of time to run them all. This method allows 
running only selected test cases. It works this way:
 - Run CommandOutputControlTest test.
 - If some `testSavedOutput` test cases fail, capture their IDs (test case ID 
is an index starting from 1).
 - Replace `/* 10, 67, 456 */` with the captured test case IDs.
 - Rerun CommandOutputControlTest test. This time, it will not run all 
`testSavedOutput` test cases; only the captured ones will be run.

Right now, this functionality isn't actually used as all test cases pass, but 
it may come in handy when updating the CommandOutputControlTest test.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/28733#discussion_r2667015030

Reply via email to