On Fri, 14 Mar 2025 11:47:44 GMT, Joachim Kern <jk...@openjdk.org> wrote:
> The test `testEcoFriendly()` checks if the launcher pollutes the > `LD_LIBRARY_PATH` environment variable. > Because aix and musl intentionally pollute the `LD_LIBRARY_PATH`, it does not > make sense to make this test somehow passing with crude workarounds, which > even do not work in any case. It only works when the test is executed by > jtreg without explicitly setting `LD_LIBRARY_PATH`. > > The problem occurs if the `LD_LIBRARY_PATH` is set from outside, so the test > is called with an already set `LD_LIBRARY_PATH`. This means internally the > `LD_LIBRARY_PATH` is polluted with the generic pollution on AIX/musl (called > A) and the additional jtreg set `LD_LIBRARY_PATH` (called B). > The result is, the test has A:B in its `LD_LIBRARY_PATH`. Then the test > launched a new VM also with an explicitly given `LD_LIBRARY_PATH` (called C). > This VM has the resulting `LD_LIBRARY_PATH` A:C which is being reported to > the calling Test. > Now the test compares the returned A:C against the A:B from the test adding > the known C. `if (A:C == A:B:C)`. > Because the test neither knows A nor B, but only C there is now way to > program a working comparison. It only works if B is empty meaning the test is > not called by jtreg with a preset `LD_LIBRARY_PATH` > > Unfortunately we now have to call all tests with a given runtime search path > provided in `LD_LIBRARY_PATH`. > So my proposal is to skip this sub test for aix and musl. This pull request has now been integrated. Changeset: 196334fc Author: Joachim Kern <jk...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/196334fc395c63e59167ccd85415d8e1d2bcb705 Stats: 59 lines in 1 file changed: 4 ins; 40 del; 15 mod 8352046: Test testEcoFriendly() in jdk tools launcher ExecutionEnvironment.java for AIX and Linux/musl is brittle Reviewed-by: clanger, mbaesken ------------- PR: https://git.openjdk.org/jdk/pull/24055