aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google
diff options
context:
space:
mode:
authorGravatar Mark Schaller <mschaller@google.com>2016-01-13 18:41:24 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-01-14 09:53:17 +0000
commitee624453d9f5dd908d721abb4663246c70bf4509 (patch)
treeba90c489d6fb079438a8015f786fc3c9f1cad0c3 /src/test/java/com/google
parent3d9441bb4fc224c6551f5063d2a5d2c84a76e3e8 (diff)
For native rule classes, (de)serialize only explicit attrs
Native rule classes can provide default values for rules after they're deserialized, so there isn't a need to serialize those default values. This doesn't apply yet to rules with Skylark-defined rule classes, due to the non-serializablity of Skylark rule classes. -- MOS_MIGRATED_REVID=112066930
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java11
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java11
2 files changed, 15 insertions, 7 deletions
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 4246cddbb9..25f1bf0369 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
@@ -51,6 +51,7 @@ import com.google.devtools.build.lib.packages.Attribute.ValidityPredicate;
import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy;
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.RuleFactory.BuildLangTypedAttributeValuesMap;
import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.vfs.Path;
@@ -685,8 +686,14 @@ public class RuleClassTest extends PackageLoadingTestCase {
} catch (LabelSyntaxException e) {
throw new IllegalArgumentException("Rule has illegal label");
}
- return ruleClass.createRuleWithLabel(pkgBuilder, ruleLabel, attributeValues,
- reporter, null, location);
+ return ruleClass.createRule(
+ pkgBuilder,
+ ruleLabel,
+ new BuildLangTypedAttributeValuesMap(attributeValues),
+ reporter,
+ /*ast=*/ null,
+ location,
+ new AttributeContainer(ruleClass));
}
@Test
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 9c213b29df..50a8b4b464 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
@@ -27,6 +27,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.events.Reporter;
+import com.google.devtools.build.lib.packages.RuleFactory.BuildLangTypedAttributeValuesMap;
import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
@@ -63,7 +64,7 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
RuleFactory.createAndAddRule(
pkgBuilder,
provider.getRuleClassMap().get("cc_library"),
- attributeValues,
+ new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
LOCATION_42,
@@ -122,7 +123,7 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
RuleFactory.createAndAddRule(
pkgBuilder,
provider.getRuleClassMap().get("bind"),
- attributeValues,
+ new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
Location.fromFileAndOffsets(myPkgPath.asFragment(), 42, 42),
@@ -146,7 +147,7 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
RuleFactory.createAndAddRule(
pkgBuilder,
provider.getRuleClassMap().get("bind"),
- attributeValues,
+ new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
LOCATION_42,
@@ -173,7 +174,7 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
RuleFactory.createAndAddRule(
pkgBuilder,
provider.getRuleClassMap().get("cc_library"),
- attributeValues,
+ new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
Location.fromFileAndOffsets(myPkgPath.asFragment(), 42, 42),
@@ -211,7 +212,7 @@ public class RuleFactoryTest extends PackageLoadingTestCase {
RuleFactory.createAndAddRule(
pkgBuilder,
provider.getRuleClassMap().get("genrule"),
- attributeValues,
+ new BuildLangTypedAttributeValuesMap(attributeValues),
new Reporter(),
/*ast=*/ null,
Location.fromFileAndOffsets(myPkgPath.asFragment(), 42, 42),