RFR: 8334433: jshell.exe runs an executable test.exe on startup
Jaikiran Pai
jpai at openjdk.org
Sun Jun 23 04:26:13 UTC 2024
On Fri, 21 Jun 2024 13:45:21 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:
> JLine has multiple providers that can setup and work with the native terminals. As part of an upgrade to JLine 3.26.1 (https://github.com/openjdk/jdk/pull/18142), a first phase of checks in the terminal providers providers runs fairly soon, when the providers are gathered. There is also a provider which setups the terminals using command line utilities - the "exec" provider. And this provider currently runs the "test" command line utility during the gathering phase, which (I believe) was not the case in previous version. I.e. even if some other provider is used to work with the terminal, the "exec" terminal might run the "test" utility anyway.
>
> We currently largely don't need the "exec" provider at all - we currently primarily use a semi-native provider based on FFM. The "exec" provider is, I believe, used on platforms for which the FFM provider is not implemented, which is probably primarily AIX.
>
> The proposal herein is twofold:
> - disable the "exec" terminal on platforms for the FFM provider should work (Windows, Linux, Mac)
> - make the "exec" provider ignore the `PATH` environment variable, and use hardcoded value.
>
> I tested this on Windows with `cmd`, Cygwin and MSYS, and on Linux and seemed to work fine.
>
> @MBaesken, please let me know what you think of this change.
>
> I would like to backport this to JDK 23.
test/langtools/jdk/jshell/TerminalNoExecTest.java line 86:
> 84: .start();
> 85:
> 86: if (!target.waitFor(1, TimeUnit.MINUTES)) {
It might be better to just `waitFor()` without a timeout here. That way the jtreg and the execution environment can timeout the test and capture any necessary diagnostics if the process doesn't terminate for any reason. That also removes the need to decide what the suitable timeout value should be for `waitFor(...)`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19828#discussion_r1649895652
More information about the kulla-dev
mailing list