aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/config
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-05-14 19:42:17 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-05-15 09:45:05 +0000
commit6d6c9328a81474a943a1a57fc3f2d7d3d9ba0418 (patch)
tree8eb79656fc5833fc385801a6abe92c79226fb8bc /src/test/java/com/google/devtools/build/lib/analysis/config
parent29c5ab46fd9eae927b0734ac142ee9ae1c9c00a1 (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.java25
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);
}
/**