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