RFR: 8344275: tools/jpackage/windows/Win8301247Test.java fails on localized Windows platform

Alexey Semenyuk asemenyuk at openjdk.org
Fri Nov 15 13:28:43 UTC 2024


On Fri, 15 Nov 2024 09:43:15 GMT, Taizo Kurashige <duke at openjdk.org> wrote:

> To resolve tools/jpackage/windows/Win8301247Test.java failure, I made "wmic" executed with "chcp 65001". This ensures that the encoding is UTF8 and that the English message "No Instance(s) Available." is output on localized windows platforms.
> 
> I have referred to the following for how to use chcp:
> ・chcp | Microsoft Learn at https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/chcp
> ・Code Page Identifiers - Win32 apps | Microsoft Learn at https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers
> 
> After fix, I ran tools/jpackage tests importing jdk.jpackage.test.Executor or jdk.jpackage.test.WindowsHelper.killAppLauncherProcess on Windows Server 2019 (Japanese and English locales). I confirmed that they pass.
> 
> Thanks

test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Executor.java line 94:

> 92:     }
> 93: 
> 94:     public Executor setWinEnableUTF8(boolean value) {

This function aims to make a to-be-executed command produce output in English. To achieve this goal implementation will call `chcp 65001`. The implementation may change, but the name of the function should remain the same. That said I suggest giving it a name that reflects its purpose and not the implementation. Something like: `setWinRunWithEnglishLocale()`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22142#discussion_r1843765897


More information about the core-libs-dev mailing list