RFR: 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit [v2]
Leo Korinth
lkorinth at openjdk.org
Wed Sep 20 07:49:20 UTC 2023
> `make test` outputs `TEST SUCCESS` after unsuccessful exit of JVM. One example is bad VM flags.
>
> I now have a reproducer for something that has puzzled me before (and most of my co-workers I think):
>
> // first test uses -XX:+UseG1GC second and third uses -XX:+UseG1GCC (sic)
> `make clean run-test TEST=open/test/hotspot/jtreg/gc/arguments/TestCompressedClassFlags.java JTREG='JAVA_OPTIONS=-XX:+UseG1GC'` -> OK
> `make run-test TEST=open/test/hotspot/jtreg/gc/arguments/TestCompressedClassFlags.java JTREG='JAVA_OPTIONS=-XX:+UseG1GCC'` -> OK
> `rm -rf test-results/jtreg_open_test_hotspot_jtreg_gc_arguments_TestCompressedClassFlags_java`
> `make run-test TEST=open/test/hotspot/jtreg/gc/arguments/TestCompressedClassFlags.java JTREG='JAVA_OPTIONS=-XX:+UseG1GCC'` -> FAIL
>
> The problem is that the success of the first test run seems to be cached and the second test-run seems to reuse the result of the first run.
>
> This seems to fix the problem:
>
> diff --git a/make/RunTests.gmk b/make/RunTests.gmk
> index 25dcdbb083d..489c3f839f8 100644
> --- a/make/RunTests.gmk
> +++ b/make/RunTests.gmk
> @@ -864,6 +864,7 @@ define SetupRunJtregTestBody
>
> clean-workdir-$1:
> $$(RM) -r $$($1_TEST_SUPPORT_DIR)
> + $$(RM) -r $$($1_TEST_RESULTS_DIR)
>
> $1_COMMAND_LINE := \
> $$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
> ```
> I have started tier 1-5 testing, but they are not completed yet. I would also like to know if this change cooperates nicely with RETRY_COUNT and REPEAT_COUNT. To me, it seems they both should be able to be more or less stateless, i.e. they ought to be able to quit on failure or success without a mutating directory, but It would be good if I could get that confirmed (because I have a hard time understanding the make files).
Leo Korinth has updated the pull request incrementally with one additional commit since the last revision:
clean-workdir-$1 -> clean-outputdirs-$1
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15820/files
- new: https://git.openjdk.org/jdk/pull/15820/files/982302ac..1597aeec
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15820&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15820&range=00-01
Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/15820.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15820/head:pull/15820
PR: https://git.openjdk.org/jdk/pull/15820
More information about the build-dev
mailing list