From 23a2c4e6754b121430a504ca8a88667fe6f77f81 Mon Sep 17 00:00:00 2001 From: Michael Snowden Date: Mon, 19 Dec 2022 17:02:54 -0800 Subject: [PATCH] Fix errcheck warnings in cmd/tools (#3729) --- cmd/tools/copyright/licensegen.go | 5 ++++- cmd/tools/rpcwrappers/main.go | 31 ++++++++++++++++++------------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/cmd/tools/copyright/licensegen.go b/cmd/tools/copyright/licensegen.go index 5f8bab38b74..9bbcd2469b2 100644 --- a/cmd/tools/copyright/licensegen.go +++ b/cmd/tools/copyright/licensegen.go @@ -137,7 +137,10 @@ func (task *addLicenseHeaderTask) handleFile(path string, fileInfo os.FileInfo, if err := scanner.Err(); err != nil { return err } - f.Close() + err = f.Close() + if err != nil { + return err + } if strings.Contains(firstLine, licenseHeaderPrefix) { return nil // file already has the copyright header diff --git a/cmd/tools/rpcwrappers/main.go b/cmd/tools/rpcwrappers/main.go index 3ec2536cf88..6c635dc3e16 100644 --- a/cmd/tools/rpcwrappers/main.go +++ b/cmd/tools/rpcwrappers/main.go @@ -52,22 +52,22 @@ type ( var ( services = []service{ - service{ + { name: "frontend", clientType: reflect.TypeOf((*workflowservice.WorkflowServiceClient)(nil)), clientGenerator: generateFrontendOrAdminClient, }, - service{ + { name: "admin", clientType: reflect.TypeOf((*adminservice.AdminServiceClient)(nil)), clientGenerator: generateFrontendOrAdminClient, }, - service{ + { name: "history", clientType: reflect.TypeOf((*historyservice.HistoryServiceClient)(nil)), clientGenerator: generateHistoryClient, }, - service{ + { name: "matching", clientType: reflect.TypeOf((*matchingservice.MatchingServiceClient)(nil)), clientGenerator: generateMatchingClient, @@ -102,12 +102,17 @@ var ( } ) +func panicIfErr(err error) { + if err != nil { + panic(err) + } +} + func writeTemplatedCode(w io.Writer, service service, text string) { - t := template.Must(template.New("code").Parse(text)) - t.Execute(w, map[string]string{ + panicIfErr(template.Must(template.New("code").Parse(text)).Execute(w, map[string]string{ "ServiceName": service.name, "ServicePackagePath": service.clientType.Elem().PkgPath(), - }) + })) } func pathToField(t reflect.Type, name string, path string, maxDepth int) string { @@ -231,8 +236,7 @@ func writeTemplatedMethod(w io.Writer, service service, impl string, m reflect.M } } - t := template.Must(template.New("code").Parse(text)) - t.Execute(w, fields) + panicIfErr(template.Must(template.New("code").Parse(text)).Execute(w, fields)) } func writeTemplatedMethods(w io.Writer, service service, impl string, text string) { @@ -412,12 +416,13 @@ func callWithFile(f func(io.Writer, service), service service, filename string, if err != nil { panic(err) } - fmt.Fprintf(w, "%s\n// Code generated by cmd/tools/rpcwrappers. DO NOT EDIT.\n", licenseText) - f(w, service) - err = w.Close() - if err != nil { + defer func() { + panicIfErr(w.Close()) + }() + if _, err := fmt.Fprintf(w, "%s\n// Code generated by cmd/tools/rpcwrappers. DO NOT EDIT.\n", licenseText); err != nil { panic(err) } + f(w, service) } func readLicenseFile(path string) string {