On Tue, 18 Mar 2025 18:37:09 GMT, Manukumar V S <m...@openjdk.org> wrote:

>> **Issue**
>> java/awt/Desktop/MailTest.java fails in platforms where Action.MAIL is not 
>> supported
>> 
>> **Reason**
>> In `MailTest.java`, there is a condition check(`if 
>> (!desktop.isSupported(Desktop.Action.MAIL))`) which will force pass the test 
>> if the corresponding 'Action' is not supported by the platform. But, 
>> apparently, this is not working good and the code flow went past this and 
>> fails in desktop.mail() method with an UnsupportedOperationException. 
>> 
>> **Fix**
>> Even though we are calling `PassFailJFrame.forcePass()` if the 'Action.MAIL' 
>> is unsupported, the PassFailJFrame just count downs a latch and the actual 
>> action will be taken later only(in `awaitAndCheck()`). But at the meantime, 
>> the desktop.mail() call gets executed in the constructor of MailTest() and 
>> it will result in an UnsupportedOperationException. So, the fix is to return 
>> from the constructor immediately if the operation is 'unsupported'.
>> 
>> **Testing**
>> This is a manual test, so it is tested locally and found to be working fine.
>
> Manukumar V S has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Review comments fixed : Added SkippedException instead of forcePass(), 
> Changed the position of imports, formatting changes

Marked as reviewed by aivanov (Reviewer).

test/jdk/java/awt/Desktop/MailTest.java line 106:

> 104:         if (!desktop.isSupported(Desktop.Action.MAIL)) {
> 105:             String errorMessage = "Action.MAIL is not supported.";
> 106:             throw new SkippedException(errorMessage);

Since the error message is used only once, you can inline the message to the 
constructor.

You may inline `Desktop.getDesktop().isSupported(Desktop.Action.MAIL)` without 
introducing a local variable if you like.

-------------

PR Review: https://git.openjdk.org/jdk/pull/24072#pullrequestreview-2696204855
PR Review Comment: https://git.openjdk.org/jdk/pull/24072#discussion_r2001964021

Reply via email to