aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-06-20 09:32:56 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-20 09:34:20 -0700
commitb97ba661ee03f23c6f14922d732b55faa2176842 (patch)
treec82bcc3c5029c22e7ab8024083e941f3f687b55e /src/test/java
parentd0c99bd1738c80389acf7b05d72f07eb6015029b (diff)
Don't instrument files generated by cc_proto_library for coverage
RELNOTES=None PiperOrigin-RevId: 201365986
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java
index 2342b6a4eb..a213ba25ce 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java
@@ -28,8 +28,10 @@ import com.google.devtools.build.lib.bazel.rules.cpp.proto.BazelCcProtoAspect;
import com.google.devtools.build.lib.packages.AspectParameters;
import com.google.devtools.build.lib.rules.cpp.CcCompilationContext;
import com.google.devtools.build.lib.rules.cpp.CcCompilationInfo;
+import com.google.devtools.build.lib.rules.cpp.CppCompileAction;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.PathFragment;
+import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -209,4 +211,21 @@ public class CcProtoLibraryTest extends BuildViewTestCase {
}
// TODO(carmi): test blacklisted protos. I don't currently understand what's the wanted behavior.
+
+ @Test
+ public void generatedSourcesNotCoverageInstrumented() throws Exception {
+ useConfiguration("--collect_code_coverage", "--instrumentation_filter=.");
+ scratch.file(
+ "x/BUILD",
+ "cc_proto_library(name = 'foo_cc_proto', deps = ['foo_proto'])",
+ "proto_library(name = 'foo_proto', srcs = ['foo.proto'])");
+ ConfiguredTarget target = getConfiguredTarget("//x:foo_cc_proto");
+ List<CppCompileAction> compilationSteps =
+ actionsTestUtil()
+ .findTransitivePrerequisitesOf(
+ getFirstArtifactEndingWith(getFilesToBuild(target), ".a"), CppCompileAction.class);
+ List<String> options = compilationSteps.get(0).getCompilerOptions();
+ assertThat(options).doesNotContain("-fprofile-arcs");
+ assertThat(options).doesNotContain("-ftest-coverage");
+ }
}