aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java
diff options
context:
space:
mode:
authorGravatar Hadrien Chauvin <hadrienchauvin@gmail.com>2017-12-20 08:45:45 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-20 09:18:36 -0800
commit3d0a04ddc6b0f4d660256f274ceb3e5c7f654c90 (patch)
treed9cb81241894d7faf323ad101c7b81cc71a005c4 /src/test/java/com/google/devtools/build/lib/remote/FakeImmutableCacheByteStreamImpl.java
parent8e3afccd8bea45105752ddeb33bde111c556fb8b (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.java19
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);