RFR: 8273361: InfoOptsTest is failing in tier1
jlahoda at openjdk.java.net
Wed Sep 8 09:25:11 UTC 2021
On Mon, 6 Sep 2021 13:54:52 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> Current test checks that informational messages are not printed twice. The failing tests verifies that by checking `java.specification.version` is not present twice in the version string. Effectively, it searches for `18`. But a second `18` could get to version string from anywhere: the Git hash, the user name, etc. It is failing in current GHA due to Git hash containing `18`.
> I believe the test should be more conservative: look for more unique strings, and check that the lines start with it. "javac" and "javac full version" seem unique enough. Checking that lines start with "javac" handles the case of accidental version strings that includes that string (think username that includes "javac" for some reason, who are we to judge...).
> Additional testing:
> - [x] Affected test passes with default version string
> - [x] Affected test fails with JDK-8266239 reverted
> - [x] Affected test passes with `--with-version-opt=javac`
It would seem better to me if the test didn't depend on hardcoded localized strings (e.g. by printing the content of e.g. `javac --help` and checking the result is the same for `javac --help --help`; or by reading the bundle and using it as a template; or by checking if there are any duplicate line if the output), but since the test didn't do it originally, I don't think it is a stopper.
More information about the compiler-dev