goldctl - Fail sooner and with more detail if the shared config file doesn't exist.
Change-Id: I6f7d330479a0ba7143d549415d4ee535768bb286
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/229281
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
diff --git a/gold-client/go/goldclient/goldclient.go b/gold-client/go/goldclient/goldclient.go
index 3b18405..618b643 100644
--- a/gold-client/go/goldclient/goldclient.go
+++ b/gold-client/go/goldclient/goldclient.go
@@ -224,7 +224,7 @@
var err error
ret.resultState, err = loadStateFromJson(ret.getResultStatePath())
if err != nil {
- return nil, skerr.Fmt("Could not load disk from state: %s", err)
+ return nil, skerr.Fmt("Could not load state from disk: %s", err)
}
if err = ret.setHttpClient(); err != nil {
return nil, skerr.Fmt("Error setting http client: %s", err)
@@ -527,7 +527,7 @@
return nil, err
}
if !exists {
- return nil, nil
+ return nil, skerr.Fmt("The state file %q doesn't exist.", fileName)
}
return ret, nil
}
diff --git a/gold-client/go/goldclient/goldclient_test.go b/gold-client/go/goldclient/goldclient_test.go
index 1e181fa..43bb5cb 100644
--- a/gold-client/go/goldclient/goldclient_test.go
+++ b/gold-client/go/goldclient/goldclient_test.go
@@ -178,6 +178,9 @@
assert.Len(t, state.Expectations, 1)
assert.Len(t, state.Expectations["ThisIsTheOnlyTest"], 2)
assert.Equal(t, testSharedConfig, *state.SharedConfig)
+
+ state, err = loadStateFromJson("/tmp/some-file-guaranteed-not-to-exist")
+ assert.Error(t, err)
}
// Test that the client does not fetch from the server if UploadOnly is set.