diff options
author | 2015-05-14 19:42:17 +0000 | |
---|---|---|
committer | 2015-05-15 09:45:05 +0000 | |
commit | 6d6c9328a81474a943a1a57fc3f2d7d3d9ba0418 (patch) | |
tree | 8eb79656fc5833fc385801a6abe92c79226fb8bc /src/test/java/com/google/devtools/build/lib/analysis/config | |
parent | 29c5ab46fd9eae927b0734ac142ee9ae1c9c00a1 (diff) |
Add --compiler support for configurable attributes.
Just like --cpu, the default needs to be pulled in from
CROSSTOOL, not the flag default.
Fixes #148
--
MOS_MIGRATED_REVID=93648261
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/config')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java index fc05e741fa..b947bc1491 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java @@ -15,6 +15,8 @@ package com.google.devtools.build.lib.analysis.config; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.syntax.Label; +import com.google.devtools.common.options.OptionsBase; +import com.google.devtools.common.options.OptionsParser; /** * Tests for {@link ConfigSetting}. @@ -36,6 +38,17 @@ public class ConfigSettingTest extends BuildViewTestCase { } /** + * Returns the default value of the given flag. + */ + private Object flagDefault(String option) { + Class<? extends OptionsBase> optionsClass = getTargetConfiguration().getOptionClass(option); + return OptionsParser.newOptionsParser(optionsClass) + .getOptions(optionsClass) + .asMap() + .get(option); + } + + /** * Tests that a config_setting only matches build configurations where *all* of * its flag specifications match. */ @@ -123,14 +136,22 @@ public class ConfigSettingTest extends BuildViewTestCase { * com.google.devtools.common.options.Option#defaultValue}). */ public void testLateBoundOptionDefaults() throws Exception { + String crosstoolCpuDefault = (String) getTargetConfiguration().getOptionValue("cpu"); + String crosstoolCompilerDefault = (String) getTargetConfiguration().getOptionValue("compiler"); + scratch.file("test/BUILD", "config_setting(", " name = 'match',", " values = {", - " 'cpu': 'k8',", + " 'cpu': '" + crosstoolCpuDefault + "',", + " 'compiler': '" + crosstoolCompilerDefault + "',", //'gcc-4.4.0',", " })"); - useConfiguration("--cpu=k8"); + assertTrue(getConfigMatchingProvider("//test:match").matches()); + assertNull(flagDefault("cpu")); + assertNotNull(crosstoolCpuDefault); + assertNull(flagDefault("compiler")); + assertNotNull(crosstoolCompilerDefault); } /** |