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

Reply via email to