On Tue, 31 Jan 2023 14:39:34 GMT, Prasanta Sadhukhan <[email protected]>
wrote:
>> test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java line 87:
>>
>>> 85: throw new RuntimeException("doInBackground is finished " +
>>> 86: " but State is not DONE");
>>> 87: }
>>
>> I think you should wait for cleanup to finish and ensure that
>> `doInBackground` is set to `true` and the state is `DONE`.
>>
>> If you don't wait until cleanup wait completes, the test does not test
>> anything because jtreg will shutdown the JVM as soon main thread exists,
>> which will happen before `done` gets called.
>
> Dont think so...If `doInBackground `is true it should mean cleanup is done as
> `doInBackground ` is false by default
That's the thing. If `cancel` doesn't wait until `doInBackground` completes,
which *it shouldn't do*, then `cancel` returns quickly. Therefore the main
thread reaches this condition before the “cleanup” in `doInBackground`
finishes, as such the test should always fail.
Do I miss anything?
-------------
PR: https://git.openjdk.org/jdk/pull/11940