diff options
author | Hadrien Chauvin <hadrienchauvin@gmail.com> | 2017-12-20 08:45:45 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-12-20 09:18:36 -0800 |
commit | 3d0a04ddc6b0f4d660256f274ceb3e5c7f654c90 (patch) | |
tree | d9cb81241894d7faf323ad101c7b81cc71a005c4 /src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java | |
parent | 8e3afccd8bea45105752ddeb33bde111c556fb8b (diff) |
remote: add directory support for remote caching and execution
Add support for directory trees as artifacts. Closes #4011.
PiperOrigin-RevId: 179691001
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java b/src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java index e418a29af6..f8d8fe5ef6 100644 --- a/src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java +++ b/src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java @@ -32,14 +32,25 @@ class FakeImmutableCacheByteStreamImpl extends ByteStreamImplBase { // Start returning the correct response after this number of errors is reached. private static final int MAX_ERRORS = 3; - public FakeImmutableCacheByteStreamImpl(Map<Digest, String> contents) { + public FakeImmutableCacheByteStreamImpl(Map<Digest, Object> contents) { ImmutableMap.Builder<ReadRequest, ReadResponse> b = ImmutableMap.builder(); - for (Map.Entry<Digest, String> e : contents.entrySet()) { + for (Map.Entry<Digest, Object> e : contents.entrySet()) { + Object obj = e.getValue(); + ByteString data; + if (obj instanceof String) { + data = ByteString.copyFromUtf8((String) obj); + } else if (obj instanceof ByteString) { + data = (ByteString) obj; + } else { + throw new AssertionError( + "expected object to be either a String or a ByteString, got a " + + obj.getClass().getCanonicalName()); + } b.put( ReadRequest.newBuilder() .setResourceName("blobs/" + e.getKey().getHash() + "/" + e.getKey().getSizeBytes()) .build(), - ReadResponse.newBuilder().setData(ByteString.copyFromUtf8(e.getValue())).build()); + ReadResponse.newBuilder().setData(data).build()); } cannedReplies = b.build(); numErrors = new HashMap<>(); @@ -55,7 +66,7 @@ class FakeImmutableCacheByteStreamImpl extends ByteStreamImplBase { @Override public void read(ReadRequest request, StreamObserver<ReadResponse> responseObserver) { - assertThat(cannedReplies.containsKey(request)).isTrue(); + assertThat(cannedReplies.keySet()).contains(request); int errCount = numErrors.getOrDefault(request, 0); if (errCount < MAX_ERRORS) { numErrors.put(request, errCount + 1); |