> 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:

  Erik's suggestion - move param to new line

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/16122/files
  - new: https://git.openjdk.org/jdk/pull/16122/files/24a05dff..d3fa29b9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16122&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16122&range=01-02

  Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16122.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16122/head:pull/16122

PR: https://git.openjdk.org/jdk/pull/16122

Reply via email to