diff options
Diffstat (limited to 'src/test/java')
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)); } }; } |