aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/config/StampTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java33
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java2
4 files changed, 36 insertions, 15 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/StampTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/StampTest.java
index 28a887f01d..03b9e8676e 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/StampTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/StampTest.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.analysis.config;
import static org.junit.Assert.assertEquals;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
+import com.google.devtools.build.lib.packages.AttributeContainer;
import com.google.devtools.build.lib.packages.BuildType;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.RuleFactory;
@@ -37,7 +38,10 @@ public class StampTest extends BuildViewTestCase {
*/
@Test
public void testNoStampingForTests() throws Exception {
- RuleFactory ruleFactory = new RuleFactory(TestRuleClassProvider.getRuleClassProvider());
+ RuleFactory ruleFactory =
+ new RuleFactory(
+ TestRuleClassProvider.getRuleClassProvider(),
+ AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY);
for (String name : ruleFactory.getRuleClassNames()) {
RuleClass ruleClass = ruleFactory.getRuleClass(name);
if (TargetUtils.isTestRuleName(name) && ruleClass.hasAttr("stamp", BuildType.TRISTATE)) {
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 '.'"));
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
index d3c99a43fe..2a18f26647 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.packages.AttributeContainer;
import com.google.devtools.build.lib.packages.CachingPackageLocator;
import com.google.devtools.build.lib.packages.ConstantRuleVisibility;
import com.google.devtools.build.lib.packages.GlobCache;
@@ -50,8 +51,13 @@ public class PackageFactoryApparatus {
EventHandler eventHandler, PackageFactory.EnvironmentExtension... environmentExtensions) {
this.eventHandler = eventHandler;
RuleClassProvider ruleClassProvider = TestRuleClassProvider.getRuleClassProvider();
- factory = new PackageFactory(ruleClassProvider, null,
- ImmutableList.copyOf(environmentExtensions), "test");
+ factory =
+ new PackageFactory(
+ ruleClassProvider,
+ null,
+ AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY,
+ ImmutableList.copyOf(environmentExtensions),
+ "test");
}
/**
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java b/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java
index c19af161a0..cf17c9dbb3 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java
@@ -64,7 +64,7 @@ public abstract class SkylarkTestCase extends BuildViewTestCase {
PackageFactory.PKG_CONTEXT,
// This dummy pkgContext works because no Skylark unit test attempts to actually
// create rules. Creating actual rules is tested in SkylarkIntegrationTest.
- new PackageContext(null, null, getEventHandler()));
+ new PackageContext(null, null, getEventHandler(), null));
}
};
}