RFR: 8374219: Fix issues in jpackage's Executor class [v2]

Alexander Matveev almatvee at openjdk.org
Wed Jan 7 22:41:59 UTC 2026


On Wed, 7 Jan 2026 04:20:00 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> 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


More information about the core-libs-dev mailing list