On Tue, 19 Sep 2023 18:35:12 GMT, Phil Race <p...@openjdk.org> wrote:
>> Alexey Ivanov has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Refactor failure reason >> >> Ensure the failure reason doesn't change after it's set. >> Removed 'failed' and 'timeout' fields: >> if failureReason is set, the test fails. > > test/jdk/java/awt/regtesthelpers/PassFailJFrame.java line 329: > >> 327: timer.stop(); >> 328: testFailedReason = FAILURE_REASON >> 329: + "Timeout User did not perform >> testing."; > > If the test was explicitly failed by the user (ie failed==true), why does the > reason say that there was a time out ? @prrace Eventually, I refactored handling of `failureReason`. I removed `failed` and `timeout` fields; the `failureReason` is set via a synchronised method to ensure there cannot be data race. If `failureReason` is not `null`, the test fails. After `failureReason` is set to a non-`null` value, it cannot be changed. The timeout handler relies on this behaviour: it calls `setFailureReason` unconditionally; if `failureReason` is already set, the timeout reason is ignored. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/15668#discussion_r1369999854