On Tue, 10 Oct 2023 14:42:37 GMT, Jaikiran Pai <j...@openjdk.org> wrote:
>> Can I please get a review of this change which proposes to fix jmh test >> launch failures noted in https://bugs.openjdk.org/browse/JDK-8317802? >> >> jmh apparently relies on annotation processors during compilation of a >> benchmark. When annotation processing is disabled, the generated benchmark >> jar is unusable when the benchmark is launched and fails with: >> >> >> Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find >> the resource: /META-INF/BenchmarkList >> at >> org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98) >> at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:124) >> at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:252) >> at org.openjdk.jmh.runner.Runner.run(Runner.java:208) >> at org.openjdk.jmh.Main.main(Main.java:71) >> >> After the integration of https://bugs.openjdk.org/browse/JDK-8306819 >> recently in JDK mainline, `javac` no longer runs annotation processors by >> default. These jmh tests that are compiled as part of the JDK build will now >> have to enable annotation processing explicitly. >> >> The commit in this PR enables annotation processing by setting `-proc:full` >> (implying run annotation processors as well as compile the files) when >> compiling the benchmarks. >> >> I tested this change locally. Without this change, the following command >> fails: >> >> >> make test TEST="micro:java.lang.ArraysSort" >> >> ... >> Test selection 'micro:java.lang.ArraysSort', will run: >> * micro:java.lang.ArraysSort >> >> Running test 'micro:java.lang.ArraysSort' >> Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find >> the resource: /META-INF/BenchmarkList >> at >> org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98) >> at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:124) >> at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:252) >> at org.openjdk.jmh.runner.Runner.run(Runner.java:208) >> at org.openjdk.jmh.Main.main(Main.java:71) >> Finished running test 'micro:java.lang.ArraysSort' >> >> >> >> After the change in this PR, the same command works fine and the jmh >> benchmark is run. > > Jaikiran Pai has updated the pull request incrementally with one additional > commit since the last revision: > > use specific annotation processor instead of -proc:full Hello Erik, thank you for the review. I've updated the PR to move that new param to a new line as suggested. A clean rebuild and test run of a micro benchmark continues to pass with this latest change. ------------- PR Comment: https://git.openjdk.org/jdk/pull/16122#issuecomment-1755877771