diff options
author | 2018-06-20 09:32:56 -0700 | |
---|---|---|
committer | 2018-06-20 09:34:20 -0700 | |
commit | b97ba661ee03f23c6f14922d732b55faa2176842 (patch) | |
tree | c82bcc3c5029c22e7ab8024083e941f3f687b55e /src/test/java | |
parent | d0c99bd1738c80389acf7b05d72f07eb6015029b (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.java | 19 |
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"); + } } |