lint: check the return values of Close calls

golangci-lint v2 with its default linters flags ten unchecked Close
returns (errcheck) that v1.64 did not report: the database and rows
handles in the SQLite store, the MetaServer response body and probe
connection, and the test fixtures.
This commit is contained in:
lakshit verma 2026-08-08 01:04:38 +05:30
parent 9e221418dc
commit fd7ebe6b5c
No known key found for this signature in database
4 changed files with 12 additions and 12 deletions

View file

@ -37,7 +37,7 @@ func OpenStore(path string) (*Store, error) {
return nil, err
}
if err := db.Ping(); err != nil {
db.Close()
_ = db.Close()
return nil, err
}
return &Store{path: path, db: db}, nil
@ -88,7 +88,7 @@ func (s *Store) tableColumns(table string) ([]string, error) {
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
var columns []string
for rows.Next() {
var name string
@ -110,7 +110,7 @@ func hasColumn(columns []string, name string) bool {
}
func appendClasses(rows *sql.Rows, classes []nodev1.RuntimeClass, seen map[string]bool) ([]nodev1.RuntimeClass, map[string]bool) {
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var raw string
if err := rows.Scan(&raw); err != nil {

View file

@ -30,7 +30,7 @@ func seedDB(t *testing.T, statements []string) string {
if err != nil {
t.Fatalf("open seed db: %v", err)
}
defer db.Close()
defer func() { _ = db.Close() }()
for _, q := range statements {
if _, err := db.Exec(q); err != nil {
t.Fatalf("seed statement %q: %v", q, err)
@ -48,7 +48,7 @@ func TestListFromMetaV2(t *testing.T) {
if err != nil {
t.Fatalf("OpenStore: %v", err)
}
defer store.Close()
defer func() { _ = store.Close() }()
classes, err := store.ListRuntimeClasses()
if err != nil {
t.Fatalf("ListRuntimeClasses: %v", err)
@ -67,7 +67,7 @@ func TestListFromLegacyMeta(t *testing.T) {
if err != nil {
t.Fatalf("OpenStore: %v", err)
}
defer store.Close()
defer func() { _ = store.Close() }()
classes, err := store.ListRuntimeClasses()
if err != nil {
t.Fatalf("ListRuntimeClasses: %v", err)
@ -89,7 +89,7 @@ func TestListBothTablesSortedAndDeduped(t *testing.T) {
if err != nil {
t.Fatalf("OpenStore: %v", err)
}
defer store.Close()
defer func() { _ = store.Close() }()
classes, err := store.ListRuntimeClasses()
if err != nil {
t.Fatalf("ListRuntimeClasses: %v", err)
@ -108,7 +108,7 @@ func TestListIgnoresNonRuntimeClassObjects(t *testing.T) {
if err != nil {
t.Fatalf("OpenStore: %v", err)
}
defer store.Close()
defer func() { _ = store.Close() }()
classes, err := store.ListRuntimeClasses()
if err != nil {
t.Fatalf("ListRuntimeClasses: %v", err)
@ -124,7 +124,7 @@ func TestListMissingTablesTreatedAsEmpty(t *testing.T) {
if err != nil {
t.Fatalf("OpenStore: %v", err)
}
defer store.Close()
defer func() { _ = store.Close() }()
classes, err := store.ListRuntimeClasses()
if err != nil {
t.Fatalf("ListRuntimeClasses: %v", err)

View file

@ -98,7 +98,7 @@ func (c *Client) get(ctx context.Context, client *http.Client, endpoint string)
if err != nil {
return nil, 0, err
}
defer resp.Body.Close()
defer func() { _ = resp.Body.Close() }()
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, resp.StatusCode, err
@ -173,6 +173,6 @@ func (c *Client) speaksTLS(endpoint string) bool {
if err != nil {
return false
}
conn.Close()
_ = conn.Close()
return true
}

View file

@ -114,7 +114,7 @@ func TestUnreachable(t *testing.T) {
t.Fatal(err)
}
addr := l.Addr().String()
l.Close()
_ = l.Close()
_, err = newClient("http://" + addr).ListRuntimeClasses(context.Background())
var unreachErr *UnreachableError