diff --git a/flags_test.go b/flags_test.go index b8969a9..db1564e 100644 --- a/flags_test.go +++ b/flags_test.go @@ -29,6 +29,17 @@ func TestIgnoredLoggerFlag(t *testing.T) { assert.ErrorContains(t, err, "-ignoredloggers: unknown logger: \"unknownlogger\"") } +func TestNoRuleFile(t *testing.T) { + f := ruleFileFlag{} + + fs := flag.NewFlagSet("test", flag.ContinueOnError) + fs.SetOutput(io.Discard) + fs.Var(&f, "rulefile", "") + + err := fs.Parse([]string{"-rulefile=testdata/xxx-not-exists-xxx.txt"}) + assert.ErrorContains(t, err, "open testdata/xxx-not-exists-xxx.txt: no such file or directory") +} + func TestWrongRuleFile(t *testing.T) { f := ruleFileFlag{} @@ -36,6 +47,6 @@ func TestWrongRuleFile(t *testing.T) { fs.SetOutput(io.Discard) fs.Var(&f, "rulefile", "") - err := fs.Parse([]string{"-rulefile=testdata/xxx-not-exists-xxx.yaml"}) - assert.ErrorContains(t, err, "open testdata/xxx-not-exists-xxx.yaml: no such file or directory") + err := fs.Parse([]string{"-rulefile=testdata/wrong-rules.txt"}) + assert.ErrorContains(t, err, "error parse rule at line 2: invalid rule format") } diff --git a/rules/rules.go b/rules/rules.go index 1b54e6b..df425f3 100644 --- a/rules/rules.go +++ b/rules/rules.go @@ -12,7 +12,7 @@ import ( "github.com/timonwong/loggercheck/internal/bytebufferpool" ) -var ErrInvalidRule = errors.New("invalid rule") +var ErrInvalidRule = errors.New("invalid rule format") type RulesetList []Ruleset diff --git a/checker.go b/staticrules.go similarity index 100% rename from checker.go rename to staticrules.go diff --git a/testdata/wrong-rules.txt b/testdata/wrong-rules.txt new file mode 100644 index 0000000..c044ee5 --- /dev/null +++ b/testdata/wrong-rules.txt @@ -0,0 +1,2 @@ +# Wrong rule file +(*a/wrong.Method.Rule