-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8357510: [REDO] RunTest variables should always be assigned #25475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…e assigned" This reverts commit b685ea5.
|
👋 Welcome back ihse! A progress list of the required criteria for merging this PR into |
|
@magicus This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 22 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
|
/integrate |
|
Going to push as commit a4f870d.
Your commit was automatically rebased without conflicts. |
This is a redo of JDK-8357048, which had to backed out since it caused testing errors in higher tiers.
The problem was that
JTREG_PROBLEM_LIST_PREFIXwas not defined before it was used, and whenJTREG_BASIC_OPTIONSwere no longer implicitly declared as a macro, but instead got a definite assignment, the value of JTREG_PROBLEM_LIST_PREFIX was empty at the time of evaluation.I have now manually checked each and every
+=assignment to$1_JTREG_BASIC_OPTIONS, and verified that all variables present is defined earlier.Here is the original description from JBS:
When building
$1_JTREG_BASIC_OPTIONS, it is assumed that the variable is recursively defined and that thus+=is lazy.If
+=is eagerly evaluated, the option -timeoutFactor: will get an empty argument and fail.The problem is the line:
$$(eval $$(call SetJtregValue,$1,JTREG_BASIC_OPTIONS))might create the variable$1_JTREG_BASIC_OPTIONS"simply expanded" (the expansion will create an assignment using:=). Whereas if the variable is not created the first+=will be recursive and will work as expected.One solution to this problem is replacing the three assignments in
SetJtregValuefrom:=to=. This might have other side effects.A more conservative solution might be to create another macro (thus not changing behaviour where strict evaluation might be needed):
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25475/head:pull/25475$ git checkout pull/25475Update a local copy of the PR:
$ git checkout pull/25475$ git pull https://git.openjdk.org/jdk.git pull/25475/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25475View PR using the GUI difftool:
$ git pr show -t 25475Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25475.diff
Using Webrev
Link to Webrev Comment