From 40deeff2fb1a0686be6276c1559ce051fe079a04 Mon Sep 17 00:00:00 2001 From: Peter Schmitt Date: Wed, 29 Jul 2015 14:49:01 +0000 Subject: Support coverage in experimental_ios_test. Coverage depends on quite a few moving parts, several of which were changed for this test: - BuildConfiguration.getCoverageLabels() used to include gcov support, this is now replaced by the dedicated getGcovLabels() and a separate implicit attribute on TestBaseRule. This new attribute is then overridden in ExperimentalIosTest to use an xcode-compatible gcov. - Objc's TestSupport now correctly registers instrumented files and sets the necessary runfiles for collecting coverage. - ios_test's template exports gcda files for coverage computation after the test's execution. -- MOS_MIGRATED_REVID=99374435 --- .../build/lib/rules/cpp/CppConfiguration.java | 2 +- .../build/lib/rules/objc/ExperimentalIosTest.java | 14 ++--- .../lib/rules/objc/ExperimentalIosTestRule.java | 19 ++++++ .../devtools/build/lib/rules/objc/TestSupport.java | 73 +++++++++++++++++++++- .../build/lib/rules/test/TestActionBuilder.java | 4 ++ 5 files changed, 102 insertions(+), 10 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index 06c9e6b9cc..a32c11697b 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java @@ -1806,7 +1806,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment { } @Override - public ImmutableList