Split up how default flags are added in AnalysisTestCases.
Not all of these flags are needed for all tests; some tests may break WITH the
excess flags.
Progress on #6524.
PiperOrigin-RevId: 242658845
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 2b49b0f..5f8ba96 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -106,10 +106,18 @@
/** All the flags that can be passed to {@link BuildView#update}. */
public enum Flag {
+ // The --keep_going flag.
KEEP_GOING,
// Configurations that only include the fragments a target needs to properly analyze.
TRIMMED_CONFIGURATIONS,
- SKYFRAME_PREPARE_ANALYSIS
+ // The --skyframe_prepare_analysis flag.
+ SKYFRAME_PREPARE_ANALYSIS,
+ // Flags for visibility to default to public.
+ PUBLIC_VISIBILITY,
+ // Flags for CPU to work (be set to k8) in test mode.
+ CPU_K8,
+ // Flags from TestConstants.PRODUCT_SPECIFIC_FLAGS.
+ PRODUCT_SPECIFIC_FLAGS
}
/** Helper class to make it easy to enable and disable flags. */
@@ -280,8 +288,15 @@
LoadingPhaseThreadsOption.class,
LoadingOptions.class),
ruleClassProvider.getConfigurationOptions()));
- optionsParser.parse("--default_visibility=public", "--cpu=k8", "--host_cpu=k8");
- optionsParser.parse(TestConstants.PRODUCT_SPECIFIC_FLAGS);
+ if (defaultFlags().contains(Flag.PUBLIC_VISIBILITY)) {
+ optionsParser.parse("--default_visibility=public");
+ }
+ if (defaultFlags().contains(Flag.CPU_K8)) {
+ optionsParser.parse("--cpu=k8", "--host_cpu=k8");
+ }
+ if (defaultFlags().contains(Flag.PRODUCT_SPECIFIC_FLAGS)) {
+ optionsParser.parse(TestConstants.PRODUCT_SPECIFIC_FLAGS);
+ }
optionsParser.parse(args);
if (defaultFlags().contains(Flag.TRIMMED_CONFIGURATIONS)) {
optionsParser.parse("--experimental_dynamic_configs=on");
@@ -291,7 +306,10 @@
}
protected FlagBuilder defaultFlags() {
- return new FlagBuilder();
+ return new FlagBuilder()
+ .with(Flag.PUBLIC_VISIBILITY)
+ .with(Flag.CPU_K8)
+ .with(Flag.PRODUCT_SPECIFIC_FLAGS);
}
protected Action getGeneratingAction(Artifact artifact) {
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
index e471c19..05f9cd8 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
@@ -2752,7 +2752,7 @@
public static final class WithKeepGoing extends SkylarkDefinedAspectsTest {
@Override
protected FlagBuilder defaultFlags() {
- return new FlagBuilder().with(Flag.KEEP_GOING);
+ return super.defaultFlags().with(Flag.KEEP_GOING);
}
@Override