github.com/bazelbuild/remote-apis-sdks@v0.0.0-20240425170053-8a36686a6350/go/pkg/filemetadata/cache_posix_test.go (about)

     1  //go:build !windows
     2  // +build !windows
     3  
     4  package filemetadata
     5  
     6  import (
     7  	"os"
     8  	"testing"
     9  
    10  	"github.com/bazelbuild/remote-apis-sdks/go/pkg/testutil"
    11  	"github.com/google/go-cmp/cmp"
    12  )
    13  
    14  func TestExecutableCacheLoad(t *testing.T) {
    15  	c := NewSingleFlightCache()
    16  	filename, err := testutil.CreateFile(t, true, "")
    17  	if err != nil {
    18  		t.Fatalf("Failed to create tmp file for testing digests: %v", err)
    19  	}
    20  	if err = os.WriteFile(filename, contents, os.ModeTemporary); err != nil {
    21  		t.Fatalf("Failed to write to tmp file for testing digests: %v", err)
    22  	}
    23  	got := c.Get(filename)
    24  	if got.Err != nil {
    25  		t.Errorf("Get(%v) failed. Got error: %v", filename, got.Err)
    26  	}
    27  	want := &Metadata{
    28  		Digest:       wantDg,
    29  		IsExecutable: true,
    30  	}
    31  	if diff := cmp.Diff(want, got, ignoreMtime); diff != "" {
    32  		t.Errorf("Get(%v) returned diff. (-want +got)\n%s", filename, diff)
    33  	}
    34  }