diff options
author | 2017-11-06 23:10:36 +0100 | |
---|---|---|
committer | 2017-11-07 19:07:02 +0100 | |
commit | a7f8a91e7692be2e1941cb82da486709c228aad7 (patch) | |
tree | 6256357e5f2bd26496ecff12122e9b4e11fa36bc /src/test/java/com/google/devtools/build/lib | |
parent | 49212e985d41b03d5e8cd4417f773748596587fe (diff) |
Introduce cc_toolchain_type, which exports c++ make variables. Use
//tools/cpp:toolchain_type as the canonical c++ toolchain.
PiperOrigin-RevId: 174759558
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
7 files changed, 26 insertions, 12 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD index df4393214f..879a7e6d5e 100644 --- a/src/test/java/com/google/devtools/build/lib/BUILD +++ b/src/test/java/com/google/devtools/build/lib/BUILD @@ -1269,6 +1269,8 @@ java_test( "//src/main/java/com/google/devtools/build/lib/rules/cpp", "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", + "//src/test/java/com/google/devtools/build/lib:packages_testutil", + "//src/test/java/com/google/devtools/build/lib:testutil", "//third_party:auto_value", "//third_party:guava", "//third_party:junit4", 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 f1d52092a3..37356a7385 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 @@ -78,7 +78,7 @@ public final class BazelMockCcSupport extends MockCcSupport { "/bazel_tools_workspace/tools/cpp/BUILD", "package(default_visibility=['//visibility:public'])", "cc_library(name = 'stl')", - "toolchain_type(name = 'toolchain_type')", + "cc_toolchain_type(name = 'toolchain_type')", "cc_library(name = 'malloc')", "cc_toolchain_suite(", " name = 'toolchain',", @@ -156,14 +156,19 @@ public final class BazelMockCcSupport extends MockCcSupport { " name = 'link_dynamic_library',", " srcs = ['link_dynamic_library.sh'],", ")", - "filegroup(name = 'toolchain_category')", "toolchain(", " name = 'toolchain_cc-compiler-piii',", - " toolchain_type = ':toolchain_category',", + " toolchain_type = ':toolchain_type',", " toolchain = '//third_party/crosstool/mock:cc-compiler-piii',", " target_compatible_with = [':mock_value'],", ")", "toolchain(", + " name = 'dummy_cc_toolchain_type',", + " toolchain_type = ':toolchain_type',", + " toolchain = ':dummy_cc_toolchain_impl',", + ")", + "filegroup(name = 'toolchain_category')", + "toolchain(", " name = 'dummy_cc_toolchain',", " toolchain_type = ':toolchain_category',", " toolchain = ':dummy_cc_toolchain_impl',", diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java index 45aa9496b1..c10bb59e59 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java @@ -50,9 +50,7 @@ public class MockPlatformSupport { ")", "toolchain(", " name = 'toolchain_cc-compiler-piii',", - " toolchain_type = '" - + TestConstants.TOOLS_REPOSITORY - + "//tools/cpp:toolchain_category',", + " toolchain_type = '" + TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type',", " toolchain = '" + crosstoolLabel.getRelative("cc-compiler-piii") + "',", " target_compatible_with = [':mock_value'],", ")"); diff --git a/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java b/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java index 7f043258e1..9b6cc4995c 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.TemplateVariableInfo; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.testutil.TestConstants; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -25,11 +26,19 @@ import org.junit.runners.JUnit4; /** Unit tests for the {@code toolchain_type} rule. */ @RunWith(JUnit4.class) public class ToolchainTypeTest extends BuildViewTestCase { + @Test public void testSmoke() throws Exception { - ConfiguredTarget cc = getConfiguredTarget(getRuleClassProvider().getToolsRepository() - + "//tools/cpp:toolchain_type"); + ConfiguredTarget cc = + getConfiguredTarget(TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type"); assertThat(cc.get(TemplateVariableInfo.PROVIDER).getVariables()) .containsKey("TARGET_CPU"); } + + @Test + public void testCcToolchainDoesNotProvideJavaMakeVariables() throws Exception { + ConfiguredTarget cc = + getConfiguredTarget(TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type"); + assertThat(cc.get(TemplateVariableInfo.PROVIDER).getVariables()).doesNotContainKey("JAVABASE"); + } } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java index e966cc06c2..f6e711970e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java @@ -969,7 +969,7 @@ public class CcCommonTest extends BuildViewTestCase { @Override public Metadata getMetadata() { return Metadata.builder() - .name("toolchain_type") + .name("cc_toolchain_type") .factoryClass(BazelToolchainType.class) .ancestors(BaseRuleClasses.BaseRule.class) .build(); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java index f5f22a229b..e0d92a4c1e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java @@ -55,7 +55,7 @@ public class CcToolchainSelectionTest extends BuildViewTestCase { } private static final String CPP_TOOLCHAIN_TYPE = - TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_category"; + TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type"; @Test public void testResolvedCcToolchain() throws Exception { diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java index 49d928c993..8cd0e30147 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java @@ -41,8 +41,8 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase { assertThatEvaluationResult(result).hasEntryThat(toolchainsKey).isNotNull(); RegisteredToolchainsValue value = result.get(toolchainsKey); - // We have two registered toolchains, and one default for c++ - assertThat(value.registeredToolchains()).hasSize(3); + // We have two registered toolchains, and two default for c++ + assertThat(value.registeredToolchains()).hasSize(4); assertThat(value.registeredToolchains().stream().anyMatch(toolchain -> (toolchain.toolchainType().equals(testToolchainType)) |