// Copyright (C) 2026 Moko Consulting // SPDX-License-Identifier: GPL-3.0-or-later package security import "testing" // TestDefaultCodeRulesCompile forces the package init, which builds every scanner // rule's regexp via regexp.MustCompile, and asserts each pattern is present. Go's // regexp engine is RE2 and rejects Perl-only constructs (lookahead/lookbehind/ // backreferences) by panicking in MustCompile at init — which crash-loops the // server at startup. This test executes that init so such a pattern fails CI here // instead of on a live deploy. func TestDefaultCodeRulesCompile(t *testing.T) { if len(DefaultCodeRules) == 0 { t.Fatal("DefaultCodeRules is empty") } for _, r := range DefaultCodeRules { if r.Pattern == nil { t.Errorf("rule %q has a nil Pattern", r.ID) } } }