On Tue, 1 Apr 2025 06:36:24 GMT, Ambarish Rapte <ara...@openjdk.org> wrote:
> Issue: > The test execution fails when a relative path is specified a relative path > for `TEST_SDK_PATH`. > For example: > 1. gradle -PTEST_ONLY=true -PTEST_SDK_PATH=**..**/jfx1/build test > 2. gradle -PTEST_ONLY=true -PTEST_SDK_PATH=**~**/jfx1/build test > > Solution: > Convert the relative path to an absolute path. > > More about fix: > The property TEST_SDK_PATH belongs to the root project rt in build.gradle. > If we modify this property in build.gradle, it does not reflect in the child > projects. The child projects for example graphics, controls would still have > the value of TEST_SDK_PATH before modification. > To solve this, I Introduced a new variable in build.gradle `TEST_SDK_DIR`. It > would hold the modified value of `TEST_SDK_PATH` and gets correctly reflected > across all sub-projects. > > Verified that both relative paths and absolute path work fine after this > change. I'll test and review this later, but one quick comment: > 2. gradle -PTEST_ONLY=true -PTEST_SDK_PATH=~/jfx1/build test This isn't a bug, but is a known limitation in the way shell expansion of `~` works. If we were going to deal with this, we would want to do it consistently for all path names, in all of our build scripts, not just this one path name in `build.gradle`. Let's not. build.gradle line 729: > 727: } > 728: String testSdkPath = "${TEST_SDK_PATH}" > 729: if (testSdkPath.startsWith("~")) { This isn't related to handling relative paths at all. Rather it is related to how bash works. The `~` character is handled by the shell and it is a known limitation that you can't use it in the middle of a string. ------------- PR Review: https://git.openjdk.org/jfx/pull/1751#pullrequestreview-2732529408 PR Review Comment: https://git.openjdk.org/jfx/pull/1751#discussion_r2022761463