aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Florian Weikert <fwe@google.com>2016-09-05 12:15:31 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-09-06 15:38:43 +0000
commitea6c82d7e47d9da9418d87b4e8228ce39dc4a726 (patch)
tree23b0c4f5798584a670a5f692c207d06d8d00ca76 /src/test/java
parenta34c4febbbdfba6c045598101ca9a491cfde7dd9 (diff)
Roll forward of commit 19db71413329da3f5d22b5fc7681471f3d971d88 (Skylark: Replaced late bound attributes with computed default attributes) with two bug fixes:
1. Unlike SkylarkComputedDefault, SkylarkComputedDefaultTemplate did not sort the names of its attribute dependencies. Consequently, lookup operations failed when callback functions in bzl files specified the names of their required attributes in a non-alphabetical order since the order of the key tuples was different (e.g. [1, 2] vs [2, 1]). It would be less error prone to always sort the dependencies in createDependencyAssignmentTuple(), but this would impact performance. 2. SkylarkCallbackFunction ignores the legacy "cfg" parameter in callback functions. This special case should be deleted once all cfg parameters have been removed from the depot. -- MOS_MIGRATED_REVID=132235927
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java9
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java17
2 files changed, 12 insertions, 14 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index f73ed390aa..2708d97af5 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -853,12 +853,11 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
getTarget(target);
fail(
String.format(
- "checkLoadingPhaseError(): expected an error with '%s' when loading target '%s'.",
- expectedErrorMessage,
- target));
- } catch (Exception e) {
- assertContainsEvent(expectedErrorMessage);
+ "checkLoadingPhaseError(): expected an exception with '%s' when loading target '%s'.",
+ expectedErrorMessage, target));
+ } catch (Exception expected) {
}
+ assertContainsEvent(expectedErrorMessage);
}
/**
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 24965818f0..03fbd31bda 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
@@ -48,6 +48,7 @@ import com.google.devtools.build.lib.events.EventCollector;
import com.google.devtools.build.lib.events.EventKind;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.events.Location.LineAndColumn;
+import com.google.devtools.build.lib.packages.Attribute.SkylarkComputedDefaultTemplate.CannotPrecomputeDefaultsException;
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.RuleClass.Builder.RuleClassType;
@@ -59,12 +60,6 @@ import com.google.devtools.build.lib.syntax.BaseFunction;
import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.vfs.Path;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -75,8 +70,11 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.annotation.Nullable;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
/**
* Tests for {@link RuleClass}.
@@ -772,8 +770,9 @@ public class RuleClassTest extends PackageLoadingTestCase {
attributes.get("my-sorted-stringlist-attr", Type.STRING_LIST));
}
- private Rule createRule(RuleClass ruleClass, String name, Map<String, Object> attributeValues,
- Location location) throws LabelSyntaxException, InterruptedException {
+ private Rule createRule(
+ RuleClass ruleClass, String name, Map<String, Object> attributeValues, Location location)
+ throws LabelSyntaxException, InterruptedException, CannotPrecomputeDefaultsException {
Package.Builder pkgBuilder = createDummyPackageBuilder();
Label ruleLabel;
try {