aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar felly <felly@google.com>2018-08-06 09:46:12 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-06 09:47:54 -0700
commit32a97a653735cf7c9eff5abdf0f7632f9a6525e2 (patch)
tree19fbf98de12c4125ef39312cfde5622ec41d2541 /src/test
parente6cd3f836171d5db7bcc955b8bab8556cde3cc96 (diff)
Order tree artifacts.
Fixes #5686. RELNOTES: None PiperOrigin-RevId: 207559658
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
index 0f5d21bca7..15e7b82168 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
@@ -55,9 +55,14 @@ import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.io.IOException;
import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Random;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -124,6 +129,24 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
}
@Test
+ public void testTreeArtifactOrdering() throws Exception {
+ int rangeSize = 100;
+ int attempts = 10;
+ List<PathFragment> children =
+ IntStream.range(0, rangeSize)
+ .mapToObj(i -> PathFragment.create("file" + i))
+ .collect(Collectors.toList());
+
+ for (int i = 0; i < attempts; i++) {
+ Collections.shuffle(children, new Random());
+ Artifact treeArtifact = createTreeArtifact("out");
+ TreeArtifactValue value = evaluateTreeArtifact(treeArtifact, children);
+ assertThat(value.getChildPaths()).containsExactlyElementsIn(children);
+ assertThat(value.getChildPaths()).isOrdered(Comparator.naturalOrder());
+ }
+ }
+
+ @Test
public void testEqualTreeArtifacts() throws Exception {
Artifact treeArtifact = createTreeArtifact("out");
ImmutableList<PathFragment> children =