Commit bc73ced
authored
chore: exclude test fixtures from the sql-sop dogfooding pre-commit hook (#51)
The .pre-commit-config.yaml ran sql-sop with `--severity error` against
every `*.sql` file in the repo. The only SQL files currently in the
repo are the unit-test fixtures under tests/fixtures/ -- and those
fixtures deliberately contain bad SQL (E001 DELETE without WHERE, E002
DROP without IF EXISTS, E003 GRANT/REVOKE, E004 string concatenation in
WHERE, E005 INSERT without column list, E006 UPDATE without WHERE,
plus warning- and structural-rule fixtures) so the rule unit tests can
assert on those exact patterns.
Result: pre-commit.ci has been reporting "Found 6 issues (6 errors) in
1 file" against tests/fixtures/errors.sql on every single PR for
months. The pre-commit-ci status has been red the whole time but
hidden behind the also-always-red validate check (just fixed by #50);
on PRs that don't touch SQL fixtures, the dogfooding hook adds no
diagnostic value because the failures are by design.
Adding `exclude: ^tests/fixtures/` so the hook only runs against real
SQL files outside the fixtures tree. No real .sql files exist in the
repo today, so the hook is effectively dormant; the moment someone
adds a migration script or an example query outside tests/fixtures/
it kicks in. Verified locally that the exclude pattern matches all
four fixture files (clean.sql, contract_drift.sql, errors.sql,
warnings.sql).1 parent 845b8bf commit bc73ced
1 file changed
Lines changed: 7 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
42 | 46 | | |
43 | 47 | | |
44 | 48 | | |
45 | 49 | | |
46 | 50 | | |
47 | 51 | | |
| 52 | + | |
0 commit comments