From 92388df185270588dc1d8c19f99bc2cd81117fa9 Mon Sep 17 00:00:00 2001 From: Thibault VINCENT Date: Sat, 2 May 2026 13:43:18 +0200 Subject: [PATCH] refactor: fix linter warnings --- internal/fileglob/inode_unix.go | 3 ++- internal/log/log_test.go | 2 +- internal/server/pprof.go | 3 ++- internal/server/server.go | 3 ++- internal/server/server_test.go | 39 ++++++++++++++++++--------------- 5 files changed, 28 insertions(+), 22 deletions(-) diff --git a/internal/fileglob/inode_unix.go b/internal/fileglob/inode_unix.go index d355fb9..c49dc91 100644 --- a/internal/fileglob/inode_unix.go +++ b/internal/fileglob/inode_unix.go @@ -16,5 +16,6 @@ func inodeOf(info fs.FileInfo) (uint64, bool) { if !ok { return 0, false } - return uint64(st.Dev)<<32 | uint64(st.Ino), true + // Conversions kept for cross-platform: on Darwin/BSD st.Dev is int32. + return uint64(st.Dev)<<32 | uint64(st.Ino), true //nolint:unconvert } diff --git a/internal/log/log_test.go b/internal/log/log_test.go index 6218cf8..80b8ba1 100644 --- a/internal/log/log_test.go +++ b/internal/log/log_test.go @@ -80,7 +80,7 @@ func TestTimedEmitsError(t *testing.T) { l := New(&buf, slog.LevelDebug, FormatText) want := errors.New("boom") got := Timed(context.Background(), l, "x", func(ctx context.Context) error { return want }) - if got != want { + if !errors.Is(got, want) { t.Fatalf("err propagation broken") } if !strings.Contains(buf.String(), "boom") { diff --git a/internal/server/pprof.go b/internal/server/pprof.go index f2f12ff..bda8917 100644 --- a/internal/server/pprof.go +++ b/internal/server/pprof.go @@ -55,9 +55,10 @@ func RunPprof(ctx context.Context, srv *http.Server, logger *slog.Logger) { }() select { case <-ctx.Done(): + // Fresh context: parent ctx is already canceled here. shutdownCtx, cancel := context.WithTimeout(context.Background(), 2*time.Second) defer cancel() - _ = srv.Shutdown(shutdownCtx) + _ = srv.Shutdown(shutdownCtx) //nolint:contextcheck logger.Info("pprof stopped") case err := <-errCh: if err != nil { diff --git a/internal/server/server.go b/internal/server/server.go index 79e4364..8e6846a 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -194,9 +194,10 @@ func Run(ctx context.Context, srv *http.Server, logger *slog.Logger) error { }() select { case <-ctx.Done(): + // Fresh context: parent ctx is already canceled here. shutdownCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() - _ = srv.Shutdown(shutdownCtx) + _ = srv.Shutdown(shutdownCtx) //nolint:contextcheck logger.Info("http server stopped") return ctx.Err() case err := <-errCh: diff --git a/internal/server/server_test.go b/internal/server/server_test.go index b3d275b..bae8f19 100644 --- a/internal/server/server_test.go +++ b/internal/server/server_test.go @@ -21,30 +21,33 @@ func TestEndpoints(t *testing.T) { ts := httptest.NewServer(srv.Handler) defer ts.Close() - resp, _ := http.Get(ts.URL + "/healthz") - if resp.StatusCode != 200 { - t.Fatalf("healthz: %d", resp.StatusCode) + get := func(path string) int { + resp, err := http.Get(ts.URL + path) + if err != nil { + t.Fatalf("get %s: %v", path, err) + } + defer func() { _ = resp.Body.Close() }() + return resp.StatusCode } - resp, _ = http.Get(ts.URL + "/readyz") - if resp.StatusCode != 503 { - t.Fatalf("readyz before mark: %d", resp.StatusCode) + + if got := get("/healthz"); got != 200 { + t.Fatalf("healthz: %d", got) + } + if got := get("/readyz"); got != 503 { + t.Fatalf("readyz before mark: %d", got) } r.Mark() - resp, _ = http.Get(ts.URL + "/readyz") - if resp.StatusCode != 200 { - t.Fatalf("readyz after mark: %d", resp.StatusCode) + if got := get("/readyz"); got != 200 { + t.Fatalf("readyz after mark: %d", got) } - resp, _ = http.Get(ts.URL + "/metrics") - if resp.StatusCode != 200 { - t.Fatalf("metrics: %d", resp.StatusCode) + if got := get("/metrics"); got != 200 { + t.Fatalf("metrics: %d", got) } - resp, _ = http.Get(ts.URL + "/") - if resp.StatusCode != 200 { - t.Fatalf("root: %d", resp.StatusCode) + if got := get("/"); got != 200 { + t.Fatalf("root: %d", got) } - resp, _ = http.Get(ts.URL + "/nope") - if resp.StatusCode != 404 { - t.Fatalf("not-found: %d", resp.StatusCode) + if got := get("/nope"); got != 404 { + t.Fatalf("not-found: %d", got) } }