We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents ab3a613 + e3b44c8 commit 2ce4abcCopy full SHA for 2ce4abc
cmd/commentcheck/main.go
@@ -35,14 +35,18 @@ func check(root string) error {
35
if err != nil {
36
return err
37
}
38
+ var nonBuild []token.Position
39
for _, cg := range file.Comments {
40
for _, c := range cg.List {
- if fset.Position(c.Slash).Line > 1 {
41
- bad = append(bad, path)
42
- return nil
+ if strings.HasPrefix(c.Text, "//go:build") {
+ continue
43
44
+ nonBuild = append(nonBuild, fset.Position(c.Slash))
45
46
47
+ if len(nonBuild) != 1 || nonBuild[0].Line != 1 {
48
+ bad = append(bad, path)
49
+ }
50
return nil
51
52
if err := filepath.WalkDir(root, walk); err != nil {
cmd/commentcheck/main_test.go
@@ -10,14 +10,21 @@ import (
10
func TestCheck(t *testing.T) {
11
t.Run("compliant", func(t *testing.T) {
12
dir := t.TempDir()
13
- write(t, dir, "ok.go", "// ok.go\npackage main\n")
+ write(t, dir, "ok.go", "// ok.go\n//go:build test\n\npackage main\n")
14
if err := check(dir); err != nil {
15
t.Fatalf("unexpected error: %v", err)
16
17
})
18
- t.Run("noncompliant", func(t *testing.T) {
+ t.Run("noncompliant extra comment", func(t *testing.T) {
19
20
- write(t, dir, "bad.go", "// bad.go\npackage main\n// bad\n")
+ write(t, dir, "bad.go", "// bad.go\n//go:build test\n\npackage main\n// bad\n")
21
+ if err := check(dir); err == nil {
22
+ t.Fatalf("expected error")
23
24
+ })
25
+ t.Run("noncompliant missing comment", func(t *testing.T) {
26
+ dir := t.TempDir()
27
+ write(t, dir, "bad.go", "//go:build test\n\npackage main\n")
28
if err := check(dir); err == nil {
29
t.Fatalf("expected error")
30
internal/fs/ewindows_other.go
@@ -1,6 +1,6 @@
1
+// internal/fs/ewindows_other.go
2
//go:build !windows
3
-// internal/fs/ewindows_other.go
4
package fs
5
6
func isErrWindows(err error) bool {
internal/fs/ewindows_windows.go
+// internal/fs/ewindows_windows.go
//go:build windows
-// internal/fs/ewindows_windows.go
import (
internal/fs/stdio.go
@@ -1,3 +1,4 @@
+// internal/fs/stdio.go
import "io"
0 commit comments