aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/collect
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-04-03 15:25:16 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-03 15:27:03 -0700
commit7e8110b8dedfef1562e7337ad67b63525c9ae8b1 (patch)
treebf0b2b07837c69045b05ac3b95e20ec42fa95c54 /src/test/java/com/google/devtools/build/lib/collect
parente3824d43223e63c147c39416b011bc84ed6bbdee (diff)
Disable nested set sharing across multiple nested set deserialization sessions. This is incorrect in the presence of memoization: a single element may be serialized as just a pair of integers (type + memoization index). Lots of different nested sets may contain elements that are serialized this way, so they will have the same digests. We could consider doing a parallel hash computation, but for now just disable.
This is not a full rollback of https://github.com/bazelbuild/bazel/commit/39cef6d6a4a9e3ae80b11a9ccc0f35325852777c since there was a refactoring in it that it doesn't seem worth it to roll back. PiperOrigin-RevId: 191509089
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/collect')
-rw-r--r--src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java25
1 files changed, 0 insertions, 25 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java b/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java
index 74eea2176d..978d7a0bb5 100644
--- a/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java
+++ b/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java
@@ -15,12 +15,8 @@ package com.google.devtools.build.lib.collect.nestedset;
import static com.google.common.truth.Truth.assertThat;
-import com.google.common.collect.ImmutableMap;
-import com.google.devtools.build.lib.skyframe.serialization.AutoRegistry;
-import com.google.devtools.build.lib.skyframe.serialization.ObjectCodecs;
import com.google.devtools.build.lib.skyframe.serialization.SerializationConstants;
import com.google.devtools.build.lib.skyframe.serialization.testutils.SerializationTester;
-import com.google.protobuf.ByteString;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -70,27 +66,6 @@ public class NestedSetCodecTest {
.runTests();
}
- @SuppressWarnings("unchecked")
- @Test
- public void testDeserializedNestedSetsShareChildren() throws Exception {
- ObjectCodecs objectCodecs =
- new ObjectCodecs(
- AutoRegistry.get().getBuilder().setAllowDefaultCodec(true).build(), ImmutableMap.of());
- NestedSet<String> originalChild = NestedSetBuilder.create(Order.STABLE_ORDER, "a", "b", "c");
- NestedSet<String> originalA =
- new NestedSetBuilder<String>(Order.STABLE_ORDER).addTransitive(originalChild).build();
- NestedSet<String> originalB =
- new NestedSetBuilder<String>(Order.STABLE_ORDER).addTransitive(originalChild).build();
-
- ByteString serializedA = objectCodecs.serialize(originalA);
- ByteString serializedB = objectCodecs.serialize(originalB);
-
- NestedSet<String> deserializedA = (NestedSet<String>) objectCodecs.deserialize(serializedA);
- NestedSet<String> deserializedB = (NestedSet<String>) objectCodecs.deserialize(serializedB);
-
- assertThat(deserializedA.rawChildren()).isSameAs(deserializedB.rawChildren());
- }
-
private static void verifyDeserialization(
NestedSet<String> subject, NestedSet<String> deserialized) {
assertThat(subject.getOrder()).isEqualTo(deserialized.getOrder());