aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-04-21 21:20:45 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-04-24 16:51:26 +0200
commite3d46b7a8edb49415c7a1c23550bf735df35b5da (patch)
tree3d8d21431c101af517b8d5369ca351b9b563427b /src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java
parent410147aed773a73d611635bc421c5b4564aaaac7 (diff)
Refactor PlatformInfo.Builder to detect and report invalid configurations.
Change-Id: Ib2bbd1b35985c4ec2d1e411aea4b32af7433a426 PiperOrigin-RevId: 153856560
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java
index 52cd7d80af..d07fe4d634 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java
@@ -21,8 +21,11 @@ import com.google.common.testing.EqualsTester;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.rules.platform.PlatformInfo.DuplicateConstraintException;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -30,6 +33,8 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class PlatformTest extends BuildViewTestCase {
+ @Rule public ExpectedException expectedException = ExpectedException.none();
+
@Before
public void createPlatform() throws Exception {
scratch.file(
@@ -137,16 +142,33 @@ public class PlatformTest extends BuildViewTestCase {
}
@Test
- public void equalsTester() {
+ public void platformInfo_overlappingConstraintsError() throws DuplicateConstraintException {
+ ConstraintSettingInfo setting = ConstraintSettingInfo.create(makeLabel("//constraint:basic"));
+
+ ConstraintValueInfo value1 = ConstraintValueInfo.create(setting, makeLabel("//constraint:foo"));
+ ConstraintValueInfo value2 = ConstraintValueInfo.create(setting, makeLabel("//constraint:bar"));
+
+ PlatformInfo.Builder builder =
+ PlatformInfo.builder().addConstraint(value1).addConstraint(value2);
+
+ expectedException.expect(DuplicateConstraintException.class);
+ expectedException.expectMessage(
+ "Duplicate constraint_values for constraint_setting //constraint:basic: "
+ + "//constraint:foo, //constraint:bar");
+ builder.build();
+ }
+
+ @Test
+ public void platformInfo_equalsTester() throws DuplicateConstraintException {
ConstraintSettingInfo setting1 = ConstraintSettingInfo.create(makeLabel("//constraint:basic"));
ConstraintSettingInfo setting2 = ConstraintSettingInfo.create(makeLabel("//constraint:other"));
ConstraintValueInfo value1 =
- ConstraintValueInfo.create(setting1, makeLabel("//constraint:value"));
+ ConstraintValueInfo.create(setting1, makeLabel("//constraint:value1"));
ConstraintValueInfo value2 =
- ConstraintValueInfo.create(setting1, makeLabel("//constraint:otherValue"));
+ ConstraintValueInfo.create(setting2, makeLabel("//constraint:value2"));
ConstraintValueInfo value3 =
- ConstraintValueInfo.create(setting2, makeLabel("//constraint:value"));
+ ConstraintValueInfo.create(setting2, makeLabel("//constraint:value3"));
new EqualsTester()
.addEqualityGroup(