Skip to content

Commit 930a5e8

Browse files
Handle unhandled errors in tools/ (#3748)
1 parent ff58057 commit 930a5e8

File tree

5 files changed

+21
-8
lines changed

5 files changed

+21
-8
lines changed

tools/cassandra/setupTask_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ func TestSetupSchemaTestSuite(t *testing.T) {
4747
}
4848

4949
func (s *SetupSchemaTestSuite) SetupSuite() {
50-
os.Setenv("CASSANDRA_HOST", environment.GetCassandraAddress())
50+
if err := os.Setenv("CASSANDRA_HOST", environment.GetCassandraAddress()); err != nil {
51+
s.Logger.Fatal("Failed to set CASSANDRA_HOST", tag.Error(err))
52+
}
5153
client, err := newTestCQLClient(systemKeyspace)
5254
if err != nil {
5355
s.Logger.Fatal("Error creating CQLClient", tag.Error(err))

tools/tdbg/app_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func (s *utilSuite) TestAcceptStringSliceArgsWithCommas() {
6969
},
7070
},
7171
}
72-
app.Run([]string{"testapp", "dostuff",
72+
s.NoError(app.Run([]string{"testapp", "dostuff",
7373
"--input", `{"field1": 34, "field2": false}`,
74-
"--input", `{"numbers": [4,5,6]}`})
74+
"--input", `{"numbers": [4,5,6]}`}))
7575
}

tools/tdbg/dlq_commands.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"os"
3030

3131
"github.com/urfave/cli/v2"
32+
"go.uber.org/multierr"
3233

3334
"go.temporal.io/server/api/adminservice/v1"
3435
enumsspb "go.temporal.io/server/api/enums/v1"
@@ -44,7 +45,7 @@ const (
4445
)
4546

4647
// AdminGetDLQMessages gets DLQ metadata
47-
func AdminGetDLQMessages(c *cli.Context) error {
48+
func AdminGetDLQMessages(c *cli.Context) (err error) {
4849
ctx, cancel := newContext(c)
4950
defer cancel()
5051

@@ -56,7 +57,10 @@ func AdminGetDLQMessages(c *cli.Context) error {
5657
if err != nil {
5758
return err
5859
}
59-
defer outputFile.Close()
60+
defer func() {
61+
// see https://pkg.go.dev/go.uber.org/multierr#hdr-Deferred_Functions
62+
err = multierr.Combine(err, outputFile.Close())
63+
}()
6064

6165
remainingMessageCount := common.EndMessageID
6266
if c.IsSet(FlagMaxMessageCount) {

tools/tdbg/factory.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939

4040
"github.com/urfave/cli/v2"
4141
"go.temporal.io/api/workflowservice/v1"
42+
"go.uber.org/multierr"
4243
"google.golang.org/grpc"
4344
"google.golang.org/grpc/credentials"
4445
"google.golang.org/grpc/credentials/insecure"
@@ -193,11 +194,15 @@ func fetchCACert(pathOrUrl string) (caPool *x509.CertPool, err error) {
193194
}
194195

195196
if strings.HasPrefix(pathOrUrl, "https://") {
196-
resp, err := netClient.Get(pathOrUrl)
197+
var resp *http.Response
198+
resp, err = netClient.Get(pathOrUrl)
197199
if err != nil {
198200
return nil, err
199201
}
200-
defer resp.Body.Close()
202+
defer func() {
203+
// see https://pkg.go.dev/go.uber.org/multierr#hdr-Deferred_Functions
204+
err = multierr.Combine(err, resp.Body.Close())
205+
}()
201206
caBytes, err = io.ReadAll(resp.Body)
202207
if err != nil {
203208
return nil, err

tools/tdbg/util.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,9 @@ func paginate[V any](c *cli.Context, paginationFn collection.PaginationFn[V], pa
250250
pageItems = append(pageItems, item)
251251
if len(pageItems) == pageSize || !iter.HasNext() {
252252
if isTableView {
253-
printTable(pageItems)
253+
if err := printTable(pageItems); err != nil {
254+
return err
255+
}
254256
} else {
255257
prettyPrintJSONObject(pageItems)
256258
}

0 commit comments

Comments
 (0)