From 71423eb5cee46874066bccdacb36169faa404118 Mon Sep 17 00:00:00 2001 From: Ulf Adams Date: Thu, 6 Aug 2015 11:51:17 +0000 Subject: Refactor the missing fragment handling code to use a policy enum. Flip the handling such that analysis failure is the default, rather than execution failure (fail action creation). -- MOS_MIGRATED_REVID=100020812 --- .../devtools/build/lib/packages/RuleClassTest.java | 28 ++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'src/test/java/com/google') diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java index 2432ba70bc..4d1e7dade6 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java @@ -42,6 +42,7 @@ import com.google.devtools.build.lib.events.Location.LineAndColumn; import com.google.devtools.build.lib.packages.Attribute.ValidityPredicate; import com.google.devtools.build.lib.packages.Package.Builder; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; +import com.google.devtools.build.lib.packages.RuleClass.MissingFragmentPolicy; import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase; import com.google.devtools.build.lib.syntax.Label; import com.google.devtools.build.lib.syntax.Label.SyntaxException; @@ -81,7 +82,8 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, - NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), false, true, + NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), + MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("my-string-attr", STRING).mandatory().build(), attr("my-label-attr", LABEL).mandatory().legacyAllowAnyFileType() .value(Label.parseAbsolute("//default:label")).build(), @@ -100,7 +102,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, attributes.toArray(new Attribute[0])); + MissingFragmentPolicy.FAIL_ANALYSIS, true, attributes.toArray(new Attribute[0])); } public void testRuleClassBasics() throws Exception { @@ -212,7 +214,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, + MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("list1", LABEL_LIST).mandatory().legacyAllowAnyFileType().build(), attr("list2", LABEL_LIST).mandatory().legacyAllowAnyFileType().build(), attr("list3", LABEL_LIST).mandatory().legacyAllowAnyFileType().build()); @@ -242,7 +244,8 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, attr("visibility", LABEL_LIST).legacyAllowAnyFileType().build()); + MissingFragmentPolicy.FAIL_ANALYSIS, true, + attr("visibility", LABEL_LIST).legacyAllowAnyFileType().build()); Map attributeValues = new HashMap<>(); attributeValues.put("visibility", Arrays.asList("//visibility:legacy_public")); @@ -327,7 +330,7 @@ public class RuleClassTest extends PackageLoadingTestCase { RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, attr("outs", OUTPUT_LIST).build()); + MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("outs", OUTPUT_LIST).build()); Map attributeValues = new HashMap<>(); attributeValues.put("outs", Collections.singletonList("explicit_out")); @@ -348,7 +351,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.fromTemplates("%{dirname}lib%{basename}.bar"), RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, - null, ImmutableSet.>of(), false, true); + null, ImmutableSet.>of(), MissingFragmentPolicy.FAIL_ANALYSIS, true); Rule rule = createRule(ruleClass, "myRule", Collections.emptyMap(), testRuleLocation); @@ -369,7 +372,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.fromTemplates("empty"), RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, - null, ImmutableSet.>of(), false, true, + null, ImmutableSet.>of(), MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("condition", BOOLEAN).value(false).build(), attr("declared1", BOOLEAN).value(false).build(), attr("declared2", BOOLEAN).value(false).build(), @@ -512,7 +515,7 @@ public class RuleClassTest extends PackageLoadingTestCase { RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, attr("outs", OUTPUT_LIST).build()); + MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("outs", OUTPUT_LIST).build()); Map attributeValues = new HashMap<>(); attributeValues.put("outs", ImmutableList.of("third", "fourth")); @@ -535,7 +538,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, + MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("a", STRING_LIST).mandatory().build(), attr("b", STRING_LIST).mandatory().build(), attr("c", STRING_LIST).mandatory().build(), @@ -621,7 +624,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, attributes); + MissingFragmentPolicy.FAIL_ANALYSIS, true, attributes); return mandNonEmptyRuleClass; } @@ -632,7 +635,7 @@ public class RuleClassTest extends PackageLoadingTestCase { ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, ImmutableSet.>of(), - false, true, attr("list", LABEL_LIST) + MissingFragmentPolicy.FAIL_ANALYSIS, true, attr("list", LABEL_LIST) .nonEmpty().legacyAllowAnyFileType().value(emptyList).build()); Map attributeValues = new LinkedHashMap<>(); @@ -718,7 +721,8 @@ public class RuleClassTest extends PackageLoadingTestCase { false, ImplicitOutputsFunction.NONE, RuleClass.NO_CHANGE, DUMMY_CONFIGURED_TARGET_FACTORY, PredicatesWithMessage.alwaysTrue(), PREFERRED_DEPENDENCY_PREDICATE, ImmutableSet.>of(), null, NO_EXTERNAL_BINDINGS, null, - ImmutableSet.>of(DummyFragment.class), false, true, attr("attr", STRING).build()); + ImmutableSet.>of(DummyFragment.class), MissingFragmentPolicy.FAIL_ANALYSIS, true, + attr("attr", STRING).build()); return parentRuleClass; } -- cgit v1.2.3