Skip to content

Commit 20cf01f

Browse files
fix issue 85 (#86)
fix issue 85
1 parent 018e855 commit 20cf01f

File tree

7 files changed

+125
-61
lines changed

7 files changed

+125
-61
lines changed

.github/workflows/ci.yaml

+32-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
pull_request:
77
branches: [ main ]
88

9+
env:
10+
GO_VERSION: 1.19.2
11+
912
jobs:
1013
run:
1114
runs-on: ubuntu-latest
@@ -17,7 +20,7 @@ jobs:
1720
- name: Install Go
1821
uses: actions/setup-go@v3
1922
with:
20-
go-version: 1.19.2
23+
go-version: ${{ env.GO_VERSION }}
2124

2225
- name: Go Format
2326
run: gofmt -s -w . && git diff --exit-code
@@ -38,3 +41,31 @@ jobs:
3841
run: go install golang.org/x/vuln/cmd/govulncheck@latest
3942
- name: Run govulncheck
4043
run: govulncheck ./...
44+
45+
tests-on-windows:
46+
needs: run
47+
runs-on: windows-latest
48+
steps:
49+
- uses: actions/checkout@v3
50+
51+
- name: Install Go
52+
uses: actions/setup-go@v3
53+
with:
54+
go-version: ${{ env.GO_VERSION }}
55+
56+
- name: Go Test
57+
run: go test -v -race ./...
58+
59+
tests-on-macos:
60+
needs: run
61+
runs-on: macos-latest
62+
steps:
63+
- uses: actions/checkout@v3
64+
65+
- name: Install Go
66+
uses: actions/setup-go@v3
67+
with:
68+
go-version: ${{ env.GO_VERSION }}
69+
70+
- name: Go Test
71+
run: go test -v -race ./...

pkg/analyzer/analyzer_test.go

+22-24
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,35 @@ import (
88
"github.com/sashamelentyev/usestdlibvars/pkg/analyzer"
99
)
1010

11+
var flags = []string{
12+
analyzer.TimeWeekdayFlag,
13+
analyzer.TimeMonthFlag,
14+
analyzer.TimeLayoutFlag,
15+
analyzer.CryptoHashFlag,
16+
analyzer.RPCDefaultPathFlag,
17+
analyzer.SQLIsolationLevelFlag,
18+
analyzer.TLSSignatureSchemeFlag,
19+
analyzer.ConstantKindFlag,
20+
}
21+
22+
var pkgs = []string{
23+
"a/crypto",
24+
"a/http",
25+
"a/rpc",
26+
"a/time",
27+
"a/sql",
28+
"a/tls",
29+
"a/constant",
30+
}
31+
1132
func TestUseStdlibVars(t *testing.T) {
1233
a := analyzer.New()
1334

14-
for _, flag := range []string{
15-
analyzer.TimeWeekdayFlag,
16-
analyzer.TimeMonthFlag,
17-
analyzer.TimeLayoutFlag,
18-
analyzer.CryptoHashFlag,
19-
analyzer.RPCDefaultPathFlag,
20-
analyzer.OSDevNullFlag,
21-
analyzer.SQLIsolationLevelFlag,
22-
analyzer.TLSSignatureSchemeFlag,
23-
analyzer.ConstantKindFlag,
24-
analyzer.SyslogPriorityFlag,
25-
} {
35+
for _, flag := range flags {
2636
if err := a.Flags.Set(flag, "true"); err != nil {
2737
t.Fatal(err)
2838
}
2939
}
3040

31-
pkgs := []string{
32-
"a/crypto",
33-
"a/http",
34-
"a/rpc",
35-
"a/time",
36-
"a/os",
37-
"a/sql",
38-
"a/tls",
39-
"a/constant",
40-
"a/syslog",
41-
}
42-
4341
analysistest.Run(t, analysistest.TestData(), a, pkgs...)
4442
}

pkg/analyzer/internal/mapping/mapping.go

+2-36
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ import (
55
"crypto/tls"
66
"database/sql"
77
"go/constant"
8-
"log/syslog"
98
"net/http"
109
"net/rpc"
11-
"os"
1210
"strconv"
1311
"time"
1412
)
@@ -165,9 +163,7 @@ var TimeLayout = map[string]string{
165163
time.StampNano: "time.StampNano",
166164
}
167165

168-
var OSDevNull = map[string]string{
169-
os.DevNull: "os.DevNull",
170-
}
166+
var OSDevNull = map[string]string{}
171167

172168
var SQLIsolationLevel = map[string]string{
173169
// sql.LevelDefault.String(): "sql.LevelDefault.String()",
@@ -204,34 +200,4 @@ var ConstantKind = map[string]string{
204200
constant.Complex.String(): "constant.Complex.String()",
205201
}
206202

207-
var SyslogPriority = map[string]string{
208-
// strconv.Itoa(int(syslog.LOG_EMERG)): "syslog.LOG_EMERG",
209-
strconv.Itoa(int(syslog.LOG_ALERT)): "syslog.LOG_ALERT",
210-
strconv.Itoa(int(syslog.LOG_CRIT)): "syslog.LOG_CRIT",
211-
strconv.Itoa(int(syslog.LOG_ERR)): "syslog.LOG_ERR",
212-
strconv.Itoa(int(syslog.LOG_WARNING)): "syslog.LOG_WARNING",
213-
strconv.Itoa(int(syslog.LOG_NOTICE)): "syslog.LOG_NOTICE",
214-
strconv.Itoa(int(syslog.LOG_INFO)): "syslog.LOG_INFO",
215-
strconv.Itoa(int(syslog.LOG_DEBUG)): "syslog.LOG_DEBUG",
216-
217-
// strconv.Itoa(int(syslog.LOG_KERN)): "syslog.LOG_KERN",
218-
strconv.Itoa(int(syslog.LOG_USER)): "syslog.LOG_USER",
219-
strconv.Itoa(int(syslog.LOG_MAIL)): "syslog.LOG_MAIL",
220-
strconv.Itoa(int(syslog.LOG_DAEMON)): "syslog.LOG_DAEMON",
221-
strconv.Itoa(int(syslog.LOG_AUTH)): "syslog.LOG_AUTH",
222-
strconv.Itoa(int(syslog.LOG_SYSLOG)): "syslog.LOG_SYSLOG",
223-
strconv.Itoa(int(syslog.LOG_LPR)): "syslog.LOG_LPR",
224-
strconv.Itoa(int(syslog.LOG_NEWS)): "syslog.LOG_NEWS",
225-
strconv.Itoa(int(syslog.LOG_UUCP)): "syslog.LOG_UUCP",
226-
strconv.Itoa(int(syslog.LOG_CRON)): "syslog.LOG_CRON",
227-
strconv.Itoa(int(syslog.LOG_AUTHPRIV)): "syslog.LOG_AUTHPRIV",
228-
strconv.Itoa(int(syslog.LOG_FTP)): "syslog.LOG_FTP",
229-
strconv.Itoa(int(syslog.LOG_LOCAL0)): "syslog.LOG_LOCAL0",
230-
strconv.Itoa(int(syslog.LOG_LOCAL1)): "syslog.LOG_LOCAL1",
231-
strconv.Itoa(int(syslog.LOG_LOCAL2)): "syslog.LOG_LOCAL2",
232-
strconv.Itoa(int(syslog.LOG_LOCAL3)): "syslog.LOG_LOCAL3",
233-
strconv.Itoa(int(syslog.LOG_LOCAL4)): "syslog.LOG_LOCAL4",
234-
strconv.Itoa(int(syslog.LOG_LOCAL5)): "syslog.LOG_LOCAL5",
235-
strconv.Itoa(int(syslog.LOG_LOCAL6)): "syslog.LOG_LOCAL6",
236-
strconv.Itoa(int(syslog.LOG_LOCAL7)): "syslog.LOG_LOCAL7",
237-
}
203+
var SyslogPriority = map[string]string{}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
//go:build unix || (js && wasm)
2+
3+
package mapping
4+
5+
import "os"
6+
7+
func init() {
8+
OSDevNull[os.DevNull] = "os.DevNull"
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
//go:build !windows && !plan9
2+
3+
package mapping
4+
5+
import (
6+
"log/syslog"
7+
"strconv"
8+
)
9+
10+
func init() {
11+
// SyslogPriority[strconv.Itoa(int(syslog.LOG_EMERG))] = "syslog.LOG_EMERG"
12+
SyslogPriority[strconv.Itoa(int(syslog.LOG_ALERT))] = "syslog.LOG_ALERT"
13+
SyslogPriority[strconv.Itoa(int(syslog.LOG_CRIT))] = "syslog.LOG_CRIT"
14+
SyslogPriority[strconv.Itoa(int(syslog.LOG_ERR))] = "syslog.LOG_ERR"
15+
SyslogPriority[strconv.Itoa(int(syslog.LOG_WARNING))] = "syslog.LOG_WARNING"
16+
SyslogPriority[strconv.Itoa(int(syslog.LOG_NOTICE))] = "syslog.LOG_NOTICE"
17+
SyslogPriority[strconv.Itoa(int(syslog.LOG_INFO))] = "syslog.LOG_INFO"
18+
SyslogPriority[strconv.Itoa(int(syslog.LOG_DEBUG))] = "syslog.LOG_DEBUG"
19+
20+
// SyslogPriority[strconv.Itoa(int(syslog.LOG_KERN))] = "syslog.LOG_KERN"
21+
SyslogPriority[strconv.Itoa(int(syslog.LOG_USER))] = "syslog.LOG_USER"
22+
SyslogPriority[strconv.Itoa(int(syslog.LOG_MAIL))] = "syslog.LOG_MAIL"
23+
SyslogPriority[strconv.Itoa(int(syslog.LOG_DAEMON))] = "syslog.LOG_DAEMON"
24+
SyslogPriority[strconv.Itoa(int(syslog.LOG_AUTH))] = "syslog.LOG_AUTH"
25+
SyslogPriority[strconv.Itoa(int(syslog.LOG_SYSLOG))] = "syslog.LOG_SYSLOG"
26+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LPR))] = "syslog.LOG_LPR"
27+
SyslogPriority[strconv.Itoa(int(syslog.LOG_NEWS))] = "syslog.LOG_NEWS"
28+
SyslogPriority[strconv.Itoa(int(syslog.LOG_UUCP))] = "syslog.LOG_UUCP"
29+
SyslogPriority[strconv.Itoa(int(syslog.LOG_CRON))] = "syslog.LOG_CRON"
30+
SyslogPriority[strconv.Itoa(int(syslog.LOG_AUTHPRIV))] = "syslog.LOG_AUTHPRIV"
31+
SyslogPriority[strconv.Itoa(int(syslog.LOG_FTP))] = "syslog.LOG_FTP"
32+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL0))] = "syslog.LOG_LOCAL0"
33+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL1))] = "syslog.LOG_LOCAL1"
34+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL2))] = "syslog.LOG_LOCAL2"
35+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL3))] = "syslog.LOG_LOCAL3"
36+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL4))] = "syslog.LOG_LOCAL4"
37+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL5))] = "syslog.LOG_LOCAL5"
38+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL6))] = "syslog.LOG_LOCAL6"
39+
SyslogPriority[strconv.Itoa(int(syslog.LOG_LOCAL7))] = "syslog.LOG_LOCAL7"
40+
}

pkg/analyzer/os_dev_test.go

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//go:build unix || (js && wasm)
2+
3+
package analyzer_test
4+
5+
import "github.com/sashamelentyev/usestdlibvars/pkg/analyzer"
6+
7+
func init() {
8+
flags = append(flags, analyzer.OSDevNullFlag)
9+
pkgs = append(pkgs, "a/os")
10+
}

pkg/analyzer/syslog_priority_test.go

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//go:build !windows && !plan9
2+
3+
package analyzer_test
4+
5+
import "github.com/sashamelentyev/usestdlibvars/pkg/analyzer"
6+
7+
func init() {
8+
flags = append(flags, analyzer.SyslogPriorityFlag)
9+
pkgs = append(pkgs, "a/syslog")
10+
}

0 commit comments

Comments
 (0)