diff options
author | Manuel Klimek <klimek@google.com> | 2016-04-21 19:39:35 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-04-22 11:48:55 +0000 |
commit | 83937228e7ae628553913b19a0535a6c4f277b5d (patch) | |
tree | 594b22e143fb3a0bd8d29418c58aba1819ee17a9 /src/test/java/com/google/devtools | |
parent | 83db68466368d912202deb672983d8e4c43a143f (diff) |
Actions for rules that do not have 'use_header_modules' enabled should not have
header modules as inputs.
--
MOS_MIGRATED_REVID=120473286
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java | 15 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java | 6 |
2 files changed, 16 insertions, 5 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 ba6700f33f..57a9d62de8 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 @@ -380,7 +380,10 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { .ccSupport() .setupCrosstool( mockToolsConfig, - "" + "feature { name: 'header_modules' }" + "feature { name: 'module_maps' }"); + "" + + "feature { name: 'header_modules' implies: 'use_header_modules' }" + + "feature { name: 'module_maps' }" + + "feature { name: 'use_header_modules' }"); useConfiguration(); scratch.file("module/BUILD", "package(features = ['header_modules'])", @@ -514,8 +517,7 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { assertThat(getNonSystemModuleMaps(cObjectAction.getInputs())).containsExactly( getGenfilesArtifact("b.cppmap", "//module:b"), getGenfilesArtifact("c.cppmap", "//nomodule:e")); - assertThat(getHeaderModules(cObjectAction.getInputs())).containsExactly( - getBinArtifact("_objs/b/module/b.pic.pcm", "//module:b")); + assertThat(getHeaderModules(cObjectAction.getInputs())).isEmpty(); // All headers of transitive dependencies that are built as modules are needed as entry points // for include scanning. assertThat(cObjectAction.getIncludeScannerSources()).containsExactly( @@ -534,8 +536,7 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { assertThat(getNonSystemModuleMaps(dObjectAction.getInputs())).containsExactly( getGenfilesArtifact("c.cppmap", "//nomodule:c"), getGenfilesArtifact("d.cppmap", "//nomodule:d")); - assertThat(getHeaderModules(dObjectAction.getInputs())).containsExactly( - getBinArtifact("_objs/b/module/b.pic.pcm", "//module:b")); + assertThat(getHeaderModules(dObjectAction.getInputs())).isEmpty(); assertThat(dObjectAction.getIncludeScannerSources()).containsExactly( getSourceArtifact("nomodule/d.cc")); assertThat(getHeaderModuleFlags(dObjectAction.getCompilerOptions())).isEmpty(); @@ -587,6 +588,8 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { getGenfilesArtifact("a.cppmap", "//nomodule:a"), getGenfilesArtifact("b.cppmap", "//module:b"), getGenfilesArtifact("c.cppmap", "//nomodule:e")); + assertThat(getHeaderModules(cObjectAction.getInputs())) + .containsExactly(getBinArtifact("_objs/b/module/b.pic.pcm", "//module:b")); assertThat(getHeaderModuleFlags(cObjectAction.getCompilerOptions())) .containsExactly("b.pic.pcm"); @@ -600,6 +603,8 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { getGenfilesArtifact("b.cppmap", "//module:b"), getGenfilesArtifact("c.cppmap", "//nomodule:c"), getGenfilesArtifact("d.cppmap", "//nomodule:d")); + assertThat(getHeaderModules(dObjectAction.getInputs())) + .containsExactly(getBinArtifact("_objs/b/module/b.pic.pcm", "//module:b")); assertThat(getHeaderModuleFlags(dObjectAction.getCompilerOptions())) .containsExactly("b.pic.pcm"); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java index 75b86e6336..95a99bce7c 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java @@ -118,6 +118,11 @@ public class CppCompilationContextTest extends BuildViewTestCase { new CppCompilationContext.Builder(getRuleContext(fooBin)) .setProvideTransitiveModuleMaps(true).build(NULL_ACTION_OWNER, middlemanFactory); + CppCompilationContext fooContextNotUsingHeaderModules = + new CppCompilationContext.Builder(getRuleContext(fooBin)) + .setUseHeaderModules(true) + .build(NULL_ACTION_OWNER, middlemanFactory); + new EqualsTester() .addEqualityGroup(fooContextA1, fooContextA2, barContext) .addEqualityGroup(fooContextB) @@ -132,6 +137,7 @@ public class CppCompilationContextTest extends BuildViewTestCase { .addEqualityGroup(fooContextWithInheritedHeaderModule) .addEqualityGroup(fooContextWithTransitivelyInheritedHeaderModule) .addEqualityGroup(fooContextUsingHeaderModules) + .addEqualityGroup(fooContextNotUsingHeaderModules) .testEquals(); } } |