1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 10:19:35 +01:00

feat(test): Jazzer Fuzz-Tests für Production-Aggregate einführen

Coverage-guided Fuzz-Tests für ProductionOrder, Recipe und Batch.
Jeder Test fuzzt create() + zufällige Sequenzen aller Mutations-Methoden,
um unbehandelte Exceptions bei beliebigen Inputs aufzudecken.

- jazzer-junit 0.24.0 als Test-Dependency
- Maven-Profile: -Pfuzz (echtes Fuzzing), -Pfuzz-regression (Crash-Replay)
- Surefire: FuzzTests im Default-Lauf ausgeschlossen, reuseForks=false
- Makefile: make fuzz, make fuzz/regression, make fuzz/single
- .gitignore: .cifuzz-corpus/ ausgeschlossen
This commit is contained in:
Sebastian Frick 2026-02-26 08:50:02 +01:00
parent 74dc9a6981
commit 8a84bf5f25
6 changed files with 312 additions and 1 deletions

View file

@ -1,5 +1,5 @@
.PHONY: frontend-dev backend/run generate/openapi bugsink seed-testdata
.PHONY: frontend-dev backend/run generate/openapi bugsink seed-testdata fuzz fuzz/regression fuzz/single
frontend/run:
cd frontend/apps/cli && node --env-file=../../../.env --import tsx src/index.tsx
@ -13,6 +13,16 @@ generate/openapi:
seed-testdata:
PGPASSWORD=effigenix nix shell nixpkgs#postgresql --command psql -f backend/src/main/resources/db/changelog/changes/099-seed-testdata.sql -h localhost -p 5432 -U effigenix -d effigenix
fuzz:
cd backend && mvn test -Pfuzz
fuzz/regression:
cd backend && mvn test -Pfuzz-regression
fuzz/single:
@test -n "$(TEST)" || (echo "Usage: make fuzz/single TEST=BatchFuzzTest" && exit 1)
cd backend && mvn test -Pfuzz -Dtest=$(TEST)
bugsink:
@. ./.env 2>/dev/null || true; \
docker start bugsink 2>/dev/null || \