aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java33
1 files changed, 22 insertions, 11 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java
index 6c10d46603..a716e22f8a 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java
@@ -44,7 +44,8 @@ import java.util.Map;
public class RuleFactoryTest extends PackageLoadingTestCase {
private ConfiguredRuleClassProvider provider = TestRuleClassProvider.getRuleClassProvider();
- private RuleFactory ruleFactory = new RuleFactory(provider);
+ private RuleFactory ruleFactory =
+ new RuleFactory(provider, AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY);
public static final Location LOCATION_42 = Location.fromFileAndOffsets(null, 42, 42);
@@ -60,15 +61,17 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
attributeValues.put("name", "foo");
attributeValues.put("alwayslink", true);
+ RuleClass ruleClass = provider.getRuleClassMap().get("cc_library");
Rule rule =
RuleFactory.createAndAddRule(
pkgBuilder,
- provider.getRuleClassMap().get("cc_library"),
+ ruleClass,
new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
LOCATION_42,
- /*env=*/ null);
+ /*env=*/ null,
+ new AttributeContainer(ruleClass));
assertSame(rule, rule.getAssociatedRule());
@@ -119,15 +122,17 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
attributeValues.put("name", "foo");
attributeValues.put("actual", "//foo:bar");
+ RuleClass ruleClass = provider.getRuleClassMap().get("bind");
Rule rule =
RuleFactory.createAndAddRule(
pkgBuilder,
- provider.getRuleClassMap().get("bind"),
+ ruleClass,
new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
Location.fromFileAndOffsets(myPkgPath.asFragment(), 42, 42),
- /*env=*/ null);
+ /*env=*/ null,
+ new AttributeContainer(ruleClass));
assertFalse(rule.containsErrors());
}
@@ -143,15 +148,17 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
attributeValues.put("name", "foo");
attributeValues.put("actual", "//bar:baz");
+ RuleClass ruleClass = provider.getRuleClassMap().get("bind");
try {
RuleFactory.createAndAddRule(
pkgBuilder,
- provider.getRuleClassMap().get("bind"),
+ ruleClass,
new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
LOCATION_42,
- /*env=*/ null);
+ /*env=*/ null,
+ new AttributeContainer(ruleClass));
fail();
} catch (RuleFactory.InvalidRuleException e) {
assertThat(e.getMessage()).contains("must be in the WORKSPACE file");
@@ -170,15 +177,17 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
attributeValues.put("name", "foo");
attributeValues.put("alwayslink", true);
+ RuleClass ruleClass = provider.getRuleClassMap().get("cc_library");
try {
RuleFactory.createAndAddRule(
pkgBuilder,
- provider.getRuleClassMap().get("cc_library"),
+ ruleClass,
new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
Location.fromFileAndOffsets(myPkgPath.asFragment(), 42, 42),
- /*env=*/ null);
+ /*env=*/ null,
+ new AttributeContainer(ruleClass));
fail();
} catch (RuleFactory.InvalidRuleException e) {
assertThat(e.getMessage()).contains("cannot be in the WORKSPACE file");
@@ -208,15 +217,17 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
Map<String, Object> attributeValues = new HashMap<>();
attributeValues.put("outs", Lists.newArrayList("."));
attributeValues.put("name", "some");
+ RuleClass ruleClass = provider.getRuleClassMap().get("genrule");
try {
RuleFactory.createAndAddRule(
pkgBuilder,
- provider.getRuleClassMap().get("genrule"),
+ ruleClass,
new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
Location.fromFileAndOffsets(myPkgPath.asFragment(), 42, 42),
- /*env=*/ null);
+ /*env=*/ null,
+ new AttributeContainer(ruleClass));
fail();
} catch (RuleFactory.InvalidRuleException e) {
assertTrue(e.getMessage(), e.getMessage().contains("output file name can't be equal '.'"));