Skip to content

Commit e0051b1

Browse files
authored
Add coverage support for specs2 with junit runner (#1250)
* Add coverage support for specs2 with junit runner * Fix bazel file formatting * Rename test/shell/test_coverage_scalatest_junit.sh -> test/shell/test_coverage_scalatest.sh * rename test/coverage package to test/coverage_scalatest * rename test/coverage_specs2 -> test/coverage_specs2_with_junit
1 parent b1f1981 commit e0051b1

26 files changed

+443
-140
lines changed

scala/private/phases/phase_write_executable.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ def phase_write_executable_repl(ctx, p):
3838

3939
def phase_write_executable_junit_test(ctx, p):
4040
args = struct(
41+
rjars = p.coverage_runfiles.rjars,
4142
jvm_flags = p.jvm_flags + ctx.attr.jvm_flags,
4243
main_class = "com.google.testing.junit.runner.BazelTestRunner",
44+
use_jacoco = ctx.configuration.coverage_enabled,
4345
)
4446
return _phase_write_executable_default(ctx, p, args)
4547

scala/private/rules/scala_junit_test.bzl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ load(
1414
"phase_collect_jars_junit_test",
1515
"phase_compile_junit_test",
1616
"phase_coverage_common",
17+
"phase_coverage_runfiles",
1718
"phase_declare_executable",
1819
"phase_default_info",
1920
"phase_dependency_common",
@@ -47,6 +48,7 @@ def _scala_junit_test_impl(ctx):
4748
("coverage", phase_coverage_common),
4849
("merge_jars", phase_merge_jars),
4950
("runfiles", phase_runfiles_common),
51+
("coverage_runfiles", phase_coverage_runfiles),
5052
("jvm_flags", phase_jvm_flags),
5153
("write_executable", phase_write_executable_junit_test),
5254
("default_info", phase_default_info),
@@ -78,6 +80,11 @@ _scala_junit_test_attrs = {
7880
),
7981
allow_files = True,
8082
),
83+
"_lcov_merger": attr.label(
84+
default = Label(
85+
"@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main",
86+
),
87+
),
8188
}
8289

8390
_junit_resolve_deps = {

test/coverage/expected-coverage.dat

Lines changed: 0 additions & 106 deletions
This file was deleted.

test/coverage/A1.scala renamed to test/coverage_scalatest/A1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package coverage;
1+
package coverage_scalatest
22

33
object A1 {
44
def a1(flag: Boolean): B1.type =

test/coverage/A2.scala renamed to test/coverage_scalatest/A2.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package coverage;
1+
package coverage_scalatest
22

33
object A2 {
44
def a2(): Unit = {

test/coverage/B1.scala renamed to test/coverage_scalatest/B1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package coverage;
1+
package coverage_scalatest
22

33
object B1 {
44

test/coverage/B2.java renamed to test/coverage_scalatest/B2.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
package coverage;
2-
1+
package coverage_scalatest;
2+
import coverage_scalatest.C2;
33
class B2 {
44
public static String b2_a() {
55
return C2.c2("hello from b2_a");

test/coverage/BUILD renamed to test/coverage_scalatest/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ load("@rules_java//java:defs.bzl", "java_library", "java_test")
22
load("//scala:scala.bzl", "scala_library", "scala_test")
33

44
scala_test(
5-
name = "test-all",
5+
name = "test-scalatest",
66
srcs = [
7-
"TestAll.scala",
7+
"TestWithScalaTest.scala",
88
],
99
deps = [
1010
":a1",

test/coverage/C2.scala renamed to test/coverage_scalatest/C2.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package coverage;
1+
package coverage_scalatest
22

33
object C2 {
44
def c2(input: String): String =

test/coverage/D1.scala renamed to test/coverage_scalatest/D1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package coverage
1+
package coverage_scalatest
22

33
object D1 {
44
def veryLongFunctionNameIsHereAaaaaaaaa(): Unit = {

0 commit comments

Comments
 (0)