Dale Emery created GEODE-10129:
----------------------------------
Summary: Forward module-related options when launching test
subprocesses
Key: GEODE-10129
URL: https://issues.apache.org/jira/browse/GEODE-10129
Project: Geode
Issue Type: Improvement
Components: tests
Affects Versions: 1.16.0
Reporter: Dale Emery
Several tests and test helpers launch JVMs to run Geode code. For tests to run
properly on JDK 17, that code must open or export the packages needed by the
code that will run in the JVMs.
Such helpers include:
- {{GfshCommandRule}}
- {{ProcessManager}} for DUnit tests.
- {{ServerContainer}} for Jetty/Tomcat session tests.
Also, {{ServerLauncherDUnitTest}} launches JVMs via a \{{ProcessBuilder}}.
A simple way to support opening and exporting the required packages is:
# Assume that the current JVM opened and exported all required packages.
# Query the {{\--add-opens}} and {{\--add-exports}} that were used to launch
the current JVM. This can be done by calling
{{ManagementFactory.getRuntimeMXBean().getInputArguments()}}, then filtering
the list to retain only the {{\--add-opens}} and {{\--add-exports}} options.
# Add those options when launching a subprocess.
It would be useful to query and perform the current JVM a single place. I
propose a static method: {{JavaModuleHelper.getJvmModuleOptions()}}.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)