aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Manuel Klimek <klimek@google.com>2016-02-03 21:02:56 +0000
committerGravatar David Chen <dzc@google.com>2016-02-03 22:07:18 +0000
commit2dae2f6b4cd3182a1fbdbd17ef0726aee4bc3b70 (patch)
tree085e462372b9d4392c76057bceac824e94f6bb44 /src/test/java/com/google/devtools/build
parentc1a6422a42b32c784c8dba0cf6b901c0b5dfbe93 (diff)
Do not compile source files mentioned in 'hdrs'.
Currently for a library: cc_library(name='a', hdrs=['a.cc']) we compile a.cc into a.pic.o and link that into its reverse dependencies. With this change, a .cc file in hdrs will be treated like a .inc file or a file in textual_hd... -- MOS_MIGRATED_REVID=113773418
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java22
2 files changed, 26 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
index ad23526dd9..b4e87827f2 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
@@ -85,27 +85,27 @@ public final class BazelMockCcSupport extends MockCcSupport {
"cc_toolchain(name = 'cc-compiler-k8', all_files = ':empty', compiler_files = ':empty',",
" cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ",
" linker_files = ':empty',",
- " module_map = 'crosstool.cppmap',",
+ " module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
" objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
")",
"cc_toolchain(name = 'cc-compiler-piii', all_files = ':empty', compiler_files = ':empty',",
" cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ",
" linker_files = ':empty',",
- " module_map = 'crosstool.cppmap',",
+ " module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
" objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
")",
"cc_toolchain(name = 'cc-compiler-darwin', all_files = ':empty', ",
" compiler_files = ':empty',",
" cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ",
" linker_files = ':empty',",
- " module_map = 'crosstool.cppmap',",
+ " module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
" objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
")",
"cc_toolchain(name = 'cc-compiler-armeabi-v7a', all_files = ':empty', ",
" compiler_files = ':empty',",
" cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ",
" linker_files = ':empty',",
- " module_map = 'crosstool.cppmap',",
+ " module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
" objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
")");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
index 1dad94f569..5d8c0fce4c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
@@ -668,6 +668,28 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase {
}
@Test
+ public void testAllowDuplicateNonCompiledSources() throws Exception {
+ ConfiguredTarget x =
+ scratchConfiguredTarget(
+ "x",
+ "x",
+ "filegroup(name = 'xso', srcs = ['x.so'])",
+ "cc_library(name = 'x', srcs = ['x.so', ':xso'])");
+ assertThat(x).isNotNull();
+ }
+
+ @Test
+ public void testDoNotCompileSourceFilesInHeaders() throws Exception {
+ AnalysisMock.get()
+ .ccSupport()
+ .setupCrosstool(mockToolsConfig, MockCcSupport.HEADER_PROCESSING_FEATURE_CONFIGURATION);
+ useConfiguration("--features=parse_headers");
+ ConfiguredTarget x =
+ scratchConfiguredTarget("x", "x", "cc_library(name = 'x', hdrs = ['x.cc'])");
+ assertThat(getGeneratingAction(getBinArtifact("_objs/x/x/x.pic.o", x))).isNull();
+ }
+
+ @Test
public void testIncludePathOrder() throws Exception {
scratch.file("foo/BUILD",
"cc_library(",