aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-08-07 11:31:46 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-08-07 09:41:50 +0000
commitf593e91c0b6219af0cb904d275bb3dfcc1009593 (patch)
treeb62e203b47a565b1f8130c63480250561eb71cbb /tools
parentc19ce525d8b8bbb454fd60909a14eb7f587eb08e (diff)
tools/syz-linter: check tool.Failf messages
Check tool.Failf messages for the common style as well.
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-linter/linter.go2
-rw-r--r--tools/syz-linter/testdata/src/github.com/google/syzkaller/pkg/tool/tool.go7
-rw-r--r--tools/syz-linter/testdata/src/lintertest/lintertest.go6
3 files changed, 15 insertions, 0 deletions
diff --git a/tools/syz-linter/linter.go b/tools/syz-linter/linter.go
index 14549aff4..5e0415324 100644
--- a/tools/syz-linter/linter.go
+++ b/tools/syz-linter/linter.go
@@ -303,6 +303,8 @@ func (pass *Pass) logFormatArg(n *ast.CallExpr) (arg int, newLine, sure bool) {
return 1, true, true
case "t.Errorf", "t.Fatalf":
return 0, false, true
+ case "tool.Failf":
+ return 0, false, true
}
if fun.Sel.String() == "Logf" {
return 0, false, true
diff --git a/tools/syz-linter/testdata/src/github.com/google/syzkaller/pkg/tool/tool.go b/tools/syz-linter/testdata/src/github.com/google/syzkaller/pkg/tool/tool.go
new file mode 100644
index 000000000..c85eea9fd
--- /dev/null
+++ b/tools/syz-linter/testdata/src/github.com/google/syzkaller/pkg/tool/tool.go
@@ -0,0 +1,7 @@
+// Copyright 2024 syzkaller project authors. All rights reserved.
+// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+package tool
+
+func Failf(msg string, args ...interface{}) {}
+func Fail(err error) {}
diff --git a/tools/syz-linter/testdata/src/lintertest/lintertest.go b/tools/syz-linter/testdata/src/lintertest/lintertest.go
index c6ba8ba8f..650893be3 100644
--- a/tools/syz-linter/testdata/src/lintertest/lintertest.go
+++ b/tools/syz-linter/testdata/src/lintertest/lintertest.go
@@ -9,6 +9,8 @@ import (
"log"
"os"
"testing"
+
+ "github.com/google/syzkaller/pkg/tool"
)
/* some comment */ // want "Use C-style comments // instead of /* */"
@@ -86,6 +88,9 @@ func logErrorMessages() {
fmt.Printf("fragment")
fmt.Printf("Fragment Fragment %s", msg)
fmt.Fprintf(nil, "These can be anything")
+ tool.Fail(err)
+ tool.Failf("good message")
+ tool.Failf("good message %v", 0)
fmt.Errorf("Bad message") // want "Don't start log/error messages with a Capital letter"
log.Fatalf("Bad message %v", 1) // want "Don't start log/error messages with a Capital letter"
@@ -99,6 +104,7 @@ func logErrorMessages() {
fmt.Fprintf(os.Stderr, "Real output message with capital letter\n") // want "Don't start log/error messages with a Capital letter"
fmt.Fprintf(os.Stderr, "real output message without newline") // want "Add \\\\n at the end of printed messages"
fmt.Fprintf(os.Stderr, "%v", err) // want "Add \\\\n at the end of printed messages"
+ tool.Failf("Bad message") // want "Don't start log/error messages with a Capital letter"
}
func testMessages(t *testing.T) {