On Tue, 31 Jan 2023 14:39:34 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
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

Reply via email to