summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2025-01-26 15:46:23 +0700
committerShulhan <ms@kilabit.info>2025-02-08 15:28:44 +0700
commit77e055b2e0da5d76ca6651020f0eb990a6787e88 (patch)
treeb32e4aae63c1e036140d592164a09423052139a1
parent3826603fb49edda796c2a5541b39b5bb00d3745c (diff)
downloadrescached-77e055b2e0da5d76ca6651020f0eb990a6787e88.tar.xz
internal/cmd/gocheck: add internal static analyzers
Instead of using binary fieldalignment and shadow, run them by creating command that call the same Analyzer internally. This analyzers help finding possible panic on httpd.go.
-rw-r--r--Makefile3
-rw-r--r--go.mod15
-rw-r--r--go.sum28
-rw-r--r--httpd.go2
-rw-r--r--internal/cmd/gocheck/main.go17
5 files changed, 46 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 590cfbd..459a327 100644
--- a/Makefile
+++ b/Makefile
@@ -71,8 +71,7 @@ test.prof:
.PHONY: lint
lint:
- -fieldalignment ./...
- -shadow ./...
+ go run ./internal/cmd/gocheck ./...
go vet ./...
-reuse lint
diff --git a/go.mod b/go.mod
index de4deda..ceff384 100644
--- a/go.mod
+++ b/go.mod
@@ -6,18 +6,21 @@ module git.sr.ht/~shulhan/rescached
go 1.23.4
require (
- git.sr.ht/~shulhan/ciigo v0.15.0
- git.sr.ht/~shulhan/pakakeh.go v0.59.0
+ git.sr.ht/~shulhan/ciigo v0.15.1
+ git.sr.ht/~shulhan/pakakeh.go v0.60.0
)
require (
- git.sr.ht/~shulhan/asciidoctor-go v0.6.2-0.20250106025231-ed20fc1c23e8 // indirect
+ git.sr.ht/~shulhan/asciidoctor-go v0.6.2 // indirect
github.com/yuin/goldmark v1.7.8 // indirect
github.com/yuin/goldmark-meta v1.1.0 // indirect
- golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
+ golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 // indirect
+ golang.org/x/mod v0.22.0 // indirect
golang.org/x/net v0.34.0 // indirect
- golang.org/x/sys v0.29.0 // indirect
+ golang.org/x/sync v0.10.0 // indirect
+ golang.org/x/sys v0.30.0 // indirect
+ golang.org/x/tools v0.29.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
-// replace git.sr.ht/~shulhan/pakakeh.go => ../pakakeh.go
+//replace git.sr.ht/~shulhan/pakakeh.go => ../pakakeh.go
diff --git a/go.sum b/go.sum
index 326c3a1..e339e41 100644
--- a/go.sum
+++ b/go.sum
@@ -1,19 +1,27 @@
-git.sr.ht/~shulhan/asciidoctor-go v0.6.2-0.20250106025231-ed20fc1c23e8 h1:8qzcug5hnyz1QPVxCf9J3JhIzPSnc+zUK5VQachVQf0=
-git.sr.ht/~shulhan/asciidoctor-go v0.6.2-0.20250106025231-ed20fc1c23e8/go.mod h1:QOHiOctWAPcVlTMOKnnwmpnLrobkv7oNAPAf4gZjtWs=
-git.sr.ht/~shulhan/ciigo v0.15.0 h1:wUtCLNCkUg+he0qtu4Sass9cp7g9eSRivywwFxUe5bs=
-git.sr.ht/~shulhan/ciigo v0.15.0/go.mod h1:JsCkrOX3WKssLWGEaxMhXm1NMXdVi/J6cQEfp8fIEV8=
-git.sr.ht/~shulhan/pakakeh.go v0.59.0 h1:haUyuusXQ0YVgHbbhi46Nkl/CEPhRe+cIJz22kQFGuM=
-git.sr.ht/~shulhan/pakakeh.go v0.59.0/go.mod h1:UsrvzhSUJZpm1Aub99RI/XwtNnbBlJmaNoWWd9++VyI=
+git.sr.ht/~shulhan/asciidoctor-go v0.6.2 h1:LCMSlHzsAMbEyruQW/2QYuiUqYru8bplcDqO9xLV9xI=
+git.sr.ht/~shulhan/asciidoctor-go v0.6.2/go.mod h1:7tX6GBgmTWUpGlwBYZK7yTC/u4KAiGsKkzeTbOnVfZk=
+git.sr.ht/~shulhan/ciigo v0.15.1 h1:EGx1R1bFdUInwSLtHhhIglafEvVzLsFD87AcQnCmRQo=
+git.sr.ht/~shulhan/ciigo v0.15.1/go.mod h1:jHr7QAPXzJpe5S1H9jRf9nNT0R0oXCNhBDuZtUbv/Tk=
+git.sr.ht/~shulhan/pakakeh.go v0.60.0 h1:Kf7PTW7uH2TachVY5hMNyt/ZhS9n+VVp9YiQEsZXyVk=
+git.sr.ht/~shulhan/pakakeh.go v0.60.0/go.mod h1:PJkRrsHnnnyL5BsvT9Ot52/S3ScNchlAnpOrON1cZT8=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc=
github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0=
-golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
-golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
+golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 h1:qNgPs5exUA+G0C96DrPwNrvLSj7GT/9D+3WMWUcUg34=
+golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
+golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
+golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
-golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
-golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
+golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
+golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
+golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
diff --git a/httpd.go b/httpd.go
index f42a2b3..a313893 100644
--- a/httpd.go
+++ b/httpd.go
@@ -1348,7 +1348,7 @@ func (srv *Server) apiZonedRRAdd(epr *libhttp.EndpointRequest) (resb []byte, err
req.Type = strings.ToUpper(req.Type)
req.rtype, ok = dns.RecordTypes[req.Type]
if !ok {
- res.Message = fmt.Sprintf("invalid or empty RR type %q: %s", req.Type, err.Error())
+ res.Message = fmt.Sprintf(`invalid or empty RR type %q`, req.Type)
return nil, &res
}
diff --git a/internal/cmd/gocheck/main.go b/internal/cmd/gocheck/main.go
new file mode 100644
index 0000000..956e790
--- /dev/null
+++ b/internal/cmd/gocheck/main.go
@@ -0,0 +1,17 @@
+// SPDX-FileCopyrightText: 2024 M. Shulhan <ms@kilabit.info>
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+// Program gocheck implement go static analysis using [Analyzer] that are not
+// included in the default go vet.
+// See package [lib/goanalysis] for more information.
+//
+// [Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer
+// [lib/goanalysis]: https://pkg.go.dev/git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis/
+package main
+
+import "git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis"
+
+func main() {
+ goanalysis.Check()
+}