SIEMLite

Development

go test -race ./...                                   # everything below except load and fuzzing
SIEMLITE_LOAD=small go test ./loadtest -run Load -v   # load tests: ci (~1 min), small (~6 min), or hard with SIEMLITE_LOAD_FOR=5m, 30m or 2h
go test ./pkg/parser -run '^$' -fuzz FuzzDraftPattern # one fuzzer; see .github/workflows/ci.yml for all of them
python3 e2e/ui_test.py ./siemlite                     # browser test (needs Playwright for Python)

The tests go beyond examples:

Every pull request and every commit on main runs these on GitHub (.github/workflows/ci.yml): formatting, go vet, the tests with the race detector, the ci load tests, 20 seconds of each fuzzer, the browser test, a build, a syntax check of the web UI's script, govulncheck for known vulnerabilities in code SIEMLite actually calls, and a build of the Docker image for x86-64 and ARM64.