From 1c81978f27d3b4171ac94a9c9ca580ee317e2623 Mon Sep 17 00:00:00 2001 From: Takuto Ikuta Date: Thu, 25 Jun 2020 21:22:56 +0900 Subject: [PATCH] return digest of root directory from ComputeOutputsToUpload This is to make GetTree to CAS work for root directory digest when upload chunkers returned from ComputeOutputsToUpload --- go/pkg/tree/tree.go | 7 ++++++- go/pkg/tree/tree_test.go | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/go/pkg/tree/tree.go b/go/pkg/tree/tree.go index a13da421..4b4128b7 100644 --- a/go/pkg/tree/tree.go +++ b/go/pkg/tree/tree.go @@ -378,11 +378,16 @@ func ComputeOutputsToUpload(execRoot string, paths []string, chunkSize int, cach if err != nil { return nil, nil, err } + ch, err := chunker.NewFromProto(rootDir, chunkSize) + if err != nil { + return nil, nil, err + } + outs[ch.Digest()] = ch treePb.Root = rootDir for _, c := range childDirs { treePb.Children = append(treePb.Children, c) } - ch, err := chunker.NewFromProto(treePb, chunkSize) + ch, err = chunker.NewFromProto(treePb, chunkSize) if err != nil { return nil, nil, err } diff --git a/go/pkg/tree/tree_test.go b/go/pkg/tree/tree_test.go index 75e0eda1..bdd567a8 100644 --- a/go/pkg/tree/tree_test.go +++ b/go/pkg/tree/tree_test.go @@ -1251,6 +1251,8 @@ func TestComputeOutputsToUploadDirectories(t *testing.T) { t.Fatalf("ComputeOutputsToUpload(...) tree proto with digest %+v not uploaded", dg) } wantBlobs[dg] = treeBlob + rootBlob := mustMarshal(tc.wantTreeRoot) + wantBlobs[digest.NewFromBlob(rootBlob)] = rootBlob if diff := cmp.Diff(wantBlobs, gotBlobs); diff != "" { t.Errorf("ComputeOutputsToUpload(...) gave diff (-want +got) on blobs:\n%s", diff) }