On Wed, 7 Jan 2026 04:20:00 GMT, Alexey Semenyuk <[email protected]> wrote:
>> 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.
Can you add comment to `testSomeSavedOutput` to explain this?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28733#discussion_r2670291644