Hi,
In previous builds this idiom for compiling (whitebox) tests worked for me:
javac -Xmodule:undertest \
-XaddReads:undertest=org.junit \
-mp mods:lib-test \
-d mods-test/undertest $(find src-test -name '*.java')
Compile the test classes as if they were part of the module 'undertest', then
patch the undertest module at runtime and launch the JUnit runner (not shown
here). Mods dir contains 'undertest' as exploded module and lib-test contains
'org.junit.jar' and 'hamcrest-core-1.3.jar', to be used as automatic modules in
this case.
I tried to re-write this setup to the new command-line flags on
9-ea+131-jigsaw-nightly-h5400-20160818:
javac -Xmodule:undertest \
--add-reads undertest=org.junit \
--module-path mods:lib-test \
-d mods-test/undertest $(find src-test -name '*.java')
To my surprise, this yields compilation errors telling me that package
'org.junit' does not exist. Somehow, it seems like the add-reads is failing. Or
maybe something else is wrong, but I'm missing it.
Incidentally, when I change the add-reads to something like '--add-reads
obvious=nonsense' it still gives the same errors. I'd expect a warning/error
that the arguments to --add-reads are invalid in that case. I also tried
falling back to the original -XaddReads:undertest=org.junit syntax with the
same results.
Thanks,
Sander