aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java48
1 files changed, 48 insertions, 0 deletions
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 8f5f91eb33..a91016c90e 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
@@ -709,6 +709,54 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase {
}
@Test
+ public void testProcessHeadersInDependencies() throws Exception {
+ AnalysisMock.get()
+ .ccSupport()
+ .setupCrosstool(mockToolsConfig, MockCcSupport.HEADER_PROCESSING_FEATURE_CONFIGURATION);
+ useConfiguration("--features=parse_headers", "--process_headers_in_dependencies");
+ ConfiguredTarget x =
+ scratchConfiguredTarget(
+ "foo",
+ "x",
+ "cc_library(name = 'x', deps = [':y'])",
+ "cc_library(name = 'y', hdrs = ['y.h'])");
+ assertThat(ActionsTestUtil.baseNamesOf(getOutputGroup(x, OutputGroupProvider.HIDDEN_TOP_LEVEL)))
+ .isEqualTo("y.h.processed");
+ }
+
+ @Test
+ public void testDoNotProcessHeadersInDependencies() throws Exception {
+ AnalysisMock.get()
+ .ccSupport()
+ .setupCrosstool(mockToolsConfig, MockCcSupport.HEADER_PROCESSING_FEATURE_CONFIGURATION);
+ useConfiguration("--features=parse_headers");
+ ConfiguredTarget x =
+ scratchConfiguredTarget(
+ "foo",
+ "x",
+ "cc_library(name = 'x', deps = [':y'])",
+ "cc_library(name = 'y', hdrs = ['y.h'])");
+ assertThat(ActionsTestUtil.baseNamesOf(getOutputGroup(x, OutputGroupProvider.HIDDEN_TOP_LEVEL)))
+ .isEmpty();
+ }
+
+ @Test
+ public void testProcessHeadersInCompileOnlyMode() throws Exception {
+ AnalysisMock.get()
+ .ccSupport()
+ .setupCrosstool(mockToolsConfig, MockCcSupport.HEADER_PROCESSING_FEATURE_CONFIGURATION);
+ useConfiguration("--features=parse_headers", "--process_headers_in_dependencies");
+ ConfiguredTarget y =
+ scratchConfiguredTarget(
+ "foo",
+ "y",
+ "cc_library(name = 'x', deps = [':y'])",
+ "cc_library(name = 'y', hdrs = ['y.h'])");
+ assertThat(ActionsTestUtil.baseNamesOf(getOutputGroup(y, OutputGroupProvider.FILES_TO_COMPILE)))
+ .isEqualTo("y.h.processed");
+ }
+
+ @Test
public void testIncludePathOrder() throws Exception {
scratch.file("foo/BUILD",
"cc_library(",