feat: add basic pre commit

Ensure a check has a corresponding test
This commit is contained in:
Damien Cavagnini
2025-06-18 11:15:06 +02:00
parent d36436d5c9
commit 02f7e3699d
2 changed files with 31 additions and 0 deletions

10
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,10 @@
repos:
- repo: local
hooks:
- id: check_has_test
name: check_has_test.sh
description: Ensure a check has a corresponding test
entry: hooks/check_has_test.sh
language: script
pass_filenames: true
files: "^bin/hardening/"

21
hooks/check_has_test.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
test_path="tests/hardening"
failure=0
failed_checks=""
for check in "$@"; do
base_name=$(basename "$check")
if [ ! -f $test_path/"$base_name" ]; then
failure=1
failed_checks="$failed_checks $base_name"
fi
done
if [ $failure -ne 0 ]; then
for check in $failed_checks; do
echo "missing file $test_path/$check"
done
fi
exit $failure