aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/platform
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-04-20 20:39:01 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-04-24 16:49:46 +0200
commite534bffb99b0e07d23cfff69a3151ac4d99838d9 (patch)
treeba83da274b37177eb440024133388e2f455a7b5a /src/test/java/com/google/devtools/build/lib/rules/platform
parentebd299084e0e4e37fef104619361c8e3c5ef8557 (diff)
AutoValue and SkylarkClassObject interact badly, so remove that.
Because SkylarkClassObject declares equals, hashCode, and toString, AutoValue doesn't bother creating those, but since these classes didn't pass any data back to SkylarkClassObject, the defined methods don't work properly. This shows up as all instances of a class having the same hashCode and being equals() to each other. Change-Id: I50734f04369231cd2141dd368b04a3f0997a7d18 PiperOrigin-RevId: 153735995
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/platform')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java29
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/PlatformTest.java32
3 files changed, 62 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD b/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
index 37a57c6fff..82e48b07b6 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
@@ -17,6 +17,7 @@ java_test(
"//src/test/java/com/google/devtools/build/lib:packages_testutil",
"//src/test/java/com/google/devtools/build/lib/skylark:testutil",
"//third_party:guava",
+ "//third_party:guava-testlib",
"//third_party:junit4",
"//third_party:truth",
],
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
index 13539db4bc..5029953037 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.rules.platform;
import static com.google.common.truth.Truth.assertThat;
+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;
@@ -95,4 +96,32 @@ public class ConstraintTest extends BuildViewTestCase {
assertThat(valueLabel).isNotNull();
assertThat(valueLabel).isEqualTo(makeLabel("//constraint:foo"));
}
+
+ @Test
+ public void constraintSetting_equalsTester() {
+ new EqualsTester()
+ .addEqualityGroup(
+ ConstraintSettingInfo.create(makeLabel("//constraint:basic")),
+ ConstraintSettingInfo.create(makeLabel("//constraint:basic")))
+ .addEqualityGroup(ConstraintSettingInfo.create(makeLabel("//constraint:other")))
+ .testEquals();
+ }
+
+ @Test
+ public void constraintValue_equalsTester() {
+ ConstraintSettingInfo setting1 = ConstraintSettingInfo.create(makeLabel("//constraint:basic"));
+ ConstraintSettingInfo setting2 = ConstraintSettingInfo.create(makeLabel("//constraint:other"));
+ new EqualsTester()
+ .addEqualityGroup(
+ // Base case.
+ ConstraintValueInfo.create(setting1, makeLabel("//constraint:value")),
+ ConstraintValueInfo.create(setting1, makeLabel("//constraint:value")))
+ .addEqualityGroup(
+ // Different label.
+ ConstraintValueInfo.create(setting1, makeLabel("//constraint:otherValue")))
+ .addEqualityGroup(
+ // Different setting.
+ ConstraintValueInfo.create(setting2, makeLabel("//constraint:ovalue")))
+ .testEquals();
+ }
}
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 37d90523ef..52cd7d80af 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
@@ -17,6 +17,7 @@ package com.google.devtools.build.lib.rules.platform;
import static com.google.common.truth.Truth.assertThat;
import com.google.common.collect.ImmutableMap;
+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;
@@ -134,4 +135,35 @@ public class PlatformTest extends BuildViewTestCase {
assertThat(valueLabel).isNotNull();
assertThat(valueLabel).isEqualTo(makeLabel("//constraint:foo"));
}
+
+ @Test
+ public void equalsTester() {
+ ConstraintSettingInfo setting1 = ConstraintSettingInfo.create(makeLabel("//constraint:basic"));
+ ConstraintSettingInfo setting2 = ConstraintSettingInfo.create(makeLabel("//constraint:other"));
+
+ ConstraintValueInfo value1 =
+ ConstraintValueInfo.create(setting1, makeLabel("//constraint:value"));
+ ConstraintValueInfo value2 =
+ ConstraintValueInfo.create(setting1, makeLabel("//constraint:otherValue"));
+ ConstraintValueInfo value3 =
+ ConstraintValueInfo.create(setting2, makeLabel("//constraint:value"));
+
+ new EqualsTester()
+ .addEqualityGroup(
+ // Base case.
+ PlatformInfo.builder().addConstraint(value1).addConstraint(value2).build(),
+ PlatformInfo.builder().addConstraint(value1).addConstraint(value2).build(),
+ PlatformInfo.builder()
+ .addConstraint(value1)
+ .addConstraint(value2)
+ .addRemoteExecutionProperty("key", "val") // execution properties are ignored.
+ .build())
+ .addEqualityGroup(
+ // Extra constraint.
+ PlatformInfo.builder().addConstraint(value1).addConstraint(value3).build())
+ .addEqualityGroup(
+ // Missing constraint.
+ PlatformInfo.builder().addConstraint(value1).build())
+ .testEquals();
+ }
}