Skip to content

Commit b3555be

Browse files
Merge branch 'main' into lift-depupdatetool
2 parents 3fd2520 + 9b9006e commit b3555be

File tree

2 files changed

+51
-2
lines changed

2 files changed

+51
-2
lines changed

pkg/scorecard.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,11 @@ func runEnabledChecks(ctx context.Context,
6666

6767
func getRepoCommitHash(r clients.RepoClient) (string, error) {
6868
commits, err := r.ListCommits()
69-
70-
if err != nil && !errors.Is(err, clients.ErrUnsupportedFeature) {
69+
if err != nil {
70+
// allow --local repos to still process
71+
if errors.Is(err, clients.ErrUnsupportedFeature) {
72+
return "unknown", nil
73+
}
7174
return "", sce.WithMessage(sce.ErrScorecardInternal, fmt.Sprintf("ListCommits:%v", err.Error()))
7275
}
7376

pkg/scorecard_test.go

+46
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ import (
2121
"github.com/golang/mock/gomock"
2222

2323
"github.com/ossf/scorecard/v4/clients"
24+
"github.com/ossf/scorecard/v4/clients/localdir"
2425
mockrepo "github.com/ossf/scorecard/v4/clients/mockclients"
26+
"github.com/ossf/scorecard/v4/log"
2527
)
2628

2729
func Test_getRepoCommitHash(t *testing.T) {
@@ -72,6 +74,50 @@ func Test_getRepoCommitHash(t *testing.T) {
7274
}
7375
}
7476

77+
func Test_getRepoCommitHashLocal(t *testing.T) {
78+
t.Parallel()
79+
tests := []struct {
80+
name string
81+
path string
82+
want string
83+
wantErr bool
84+
}{
85+
{
86+
name: "local directory",
87+
path: "testdata",
88+
want: "unknown",
89+
wantErr: false,
90+
},
91+
}
92+
93+
for _, tt := range tests {
94+
tt := tt
95+
t.Run(tt.name, func(t *testing.T) {
96+
t.Parallel()
97+
logger := log.NewLogger(log.DebugLevel)
98+
localDirClient := localdir.CreateLocalDirClient(context.Background(), logger)
99+
localRepo, err := localdir.MakeLocalDirRepo("testdata")
100+
if err != nil {
101+
t.Errorf("MakeLocalDirRepo: %v", err)
102+
return
103+
}
104+
if err := localDirClient.InitRepo(localRepo, clients.HeadSHA); err != nil {
105+
t.Errorf("InitRepo: %v", err)
106+
return
107+
}
108+
109+
got, err := getRepoCommitHash(localDirClient)
110+
if (err != nil) != tt.wantErr {
111+
t.Errorf("getRepoCommitHash() error = %v, wantErr %v", err, tt.wantErr)
112+
return
113+
}
114+
if got != tt.want {
115+
t.Errorf("getRepoCommitHash() got = %v, want %v", got, tt.want)
116+
}
117+
})
118+
}
119+
}
120+
75121
func TestRunScorecards(t *testing.T) {
76122
t.Parallel()
77123
type args struct {

0 commit comments

Comments
 (0)