Stop using `--fat_apk_cpu` in tests.
PiperOrigin-RevId: 687111838
Change-Id: Ifb804d115aa0adec833287e67f44c519080c299b
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/starlark/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/starlark/BUILD
index c2b0468..22bea24 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/starlark/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/starlark/BUILD
@@ -52,6 +52,7 @@
deps = [
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
"//src/main/java/com/google/devtools/build/lib/analysis:config/build_configuration",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/build_options",
"//src/main/java/com/google/devtools/build/lib/analysis:config/core_options",
"//src/main/java/com/google/devtools/build/lib/analysis:config/transitions/configuration_transition",
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkAttrTransitionProviderTest.java b/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkAttrTransitionProviderTest.java
index ad14573..2ba914f 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkAttrTransitionProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkAttrTransitionProviderTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.analysis.starlark;
+import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static com.google.common.collect.Multimaps.toMultimap;
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
@@ -21,6 +22,7 @@
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Maps;
@@ -29,6 +31,8 @@
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.PlatformOptions;
import com.google.devtools.build.lib.analysis.RequiredConfigFragmentsProvider;
+import com.google.devtools.build.lib.analysis.config.BuildConfigurationValue;
+import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.CoreOptions;
import com.google.devtools.build.lib.analysis.config.OutputPathMnemonicComputer;
import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
@@ -49,7 +53,6 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
import net.starlark.java.eval.Dict;
import net.starlark.java.eval.Starlark;
import net.starlark.java.eval.StarlarkInt;
@@ -637,16 +640,29 @@
"""
load("//myinfo:myinfo.bzl", "MyInfo")
+ def _flag_impl(ctx):
+ pass
+
+ string_flag = rule(
+ implementation = _flag_impl,
+ build_setting = config.string(flag = True),
+ )
+
+ string_list_flag = rule(
+ implementation = _flag_impl,
+ build_setting = config.string_list(flag = True),
+ )
+
def transition_func(settings, attr):
transitions = []
- for cpu in settings["//command_line_option:fat_apk_cpu"]:
- transitions.append({"//command_line_option:cpu": cpu})
+ for val in settings["//test/starlark:source"]:
+ transitions.append({"//test/starlark:dest": val})
return transitions
my_transition = transition(
implementation = transition_func,
- inputs = ["//command_line_option:fat_apk_cpu"],
- outputs = ["//command_line_option:cpu"],
+ inputs = ["//test/starlark:source"],
+ outputs = ["//test/starlark:dest"],
)
def impl(ctx):
@@ -663,7 +679,17 @@
scratch.file(
"test/starlark/BUILD",
"""
- load("//test/starlark:my_rule.bzl", "my_rule")
+ load("//test/starlark:my_rule.bzl", "my_rule", "string_list_flag", "string_flag")
+
+ string_list_flag(
+ name = "source",
+ build_setting_default = [],
+ )
+
+ string_flag(
+ name = "dest",
+ build_setting_default = "",
+ )
my_rule(
name = "test",
@@ -682,18 +708,25 @@
getAnalysisMock().ccSupport().setupCcToolchainConfigForCpu(mockToolsConfig, "armeabi-v7a");
writeReadSettingsTestFiles();
- useConfiguration("--fat_apk_cpu=k8,armeabi-v7a");
+ useConfiguration("--//test/starlark:source=first,second");
ConfiguredTarget target = getConfiguredTarget("//test/starlark:test");
@SuppressWarnings("unchecked")
Dict<String, ConfiguredTarget> splitDep =
(Dict<String, ConfiguredTarget>) getMyInfoFromTarget(target).getValue("attr_dep");
assertThat(splitDep.size()).isEqualTo(2);
- List<String> cpus =
+ ImmutableSet<String> values =
splitDep.values().stream()
- .map(ct -> getConfiguration(ct).getCpu())
- .collect(Collectors.toList());
- assertThat(cpus).containsExactly("k8", "armeabi-v7a");
+ .map(this::getConfiguration)
+ .map(BuildConfigurationValue::getOptions)
+ .map(
+ options ->
+ (String)
+ options
+ .getStarlarkOptions()
+ .get(Label.parseCanonicalUnchecked("//test/starlark:dest")))
+ .collect(toImmutableSet());
+ assertThat(values).containsExactly("first", "second");
}
private void writeOptionConversionTestFiles() throws Exception {
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 1893000..3f8d7dd 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
@@ -375,9 +375,7 @@
.setupCcToolchainConfig(
mockToolsConfig,
CcToolchainConfig.builder().withFeatures(CppRuleClasses.SUPPORTS_START_END_LIB));
- useConfiguration(
- // Prevent Android from trying to setup ARM crosstool by forcing it on system cpu.
- "--fat_apk_cpu=k8", "--start_end_lib");
+ useConfiguration("--start_end_lib");
scratch.file(
"test/BUILD",
"""