diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/TestActionBuilder.java b/src/main/java/com/google/devtools/build/lib/analysis/test/TestActionBuilder.java index c702722fbffc7b..6e8ee8d81caa88 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/test/TestActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/test/TestActionBuilder.java @@ -269,9 +269,15 @@ private TestParams createTestAction(int shards) { extraTestEnv.put(BAZEL_CC_COVERAGE_TOOL, GCOV_TOOL); // We don't add this attribute to non-supported test target + String lcovMergerAttr = null; if (ruleContext.isAttrDefined(":lcov_merger", LABEL)) { + lcovMergerAttr = ":lcov_merger"; + } else if (ruleContext.isAttrDefined("$lcov_merger", LABEL)) { + lcovMergerAttr = "$lcov_merger"; + } + if (lcovMergerAttr != null) { TransitiveInfoCollection lcovMerger = - ruleContext.getPrerequisite(":lcov_merger", Mode.TARGET); + ruleContext.getPrerequisite(lcovMergerAttr, Mode.TARGET); FilesToRunProvider lcovFilesToRun = lcovMerger.getProvider(FilesToRunProvider.class); if (lcovFilesToRun != null) { extraTestEnv.put(LCOV_MERGER, lcovFilesToRun.getExecutable().getExecPathString()); @@ -286,7 +292,7 @@ private TestParams createTestAction(int shards) { inputsBuilder.add(lcovMergerArtifact); } else { ruleContext.attributeError( - ":lcov_merger", + lcovMergerAttr, "the LCOV merger should be either an executable or a single artifact"); } }