$ bazel coverage --test_output=all src/test/java/com/example:test
[...]
WARNING: There was no coverage found.
================================================================================
Target //src/test/java/com/example:test up-to-date:
bazel-bin/src/test/java/com/example/test.jar
bazel-bin/src/test/java/com/example/test
INFO: Elapsed time: 20.090s, Critical Path: 6.83s
INFO: 21 processes: 10 internal, 8 linux-sandbox, 3 worker.
INFO: Build completed successfully, 21 total actions
//src/test/java/com/example:test PASSED in 0.8s
Executed 1 out of 1 test: 1 test passes.
INFO: Build completed successfully, 21 total actions
Workaround is to move test rule also to root BUILD file (like it is in the Bazel coverage test itself), or to move source rule to src/main/java/com/example package, see first reproducer repository.
The text was updated successfully, but these errors were encountered:
I'm seeing this behaviour on Bazel@HEAD (11d85c0)
Bazel coverage
doesn't produce any coverage results if source and test rules located in different packages.Consider these two reproducers:
Same package, works as expected
https://github.com/davido/bazel_coverage_src_and_test_same_package
Different packages, no coverage is produced
https://github.com/davido/bazel_coverage_src_and_test_different_package
In the latter case, the source rule is located in the root
BUILD
file:BUILD
and the test rule is located in
src/test/java/com/example/BUILD
file:src/test/java/com/example/BUILD
No coverage data is produced in this case:
Workaround is to move test rule also to root
BUILD
file (like it is in the Bazel coverage test itself), or to move source rule tosrc/main/java/com/example
package, see first reproducer repository.The text was updated successfully, but these errors were encountered: