31 lines
1.1 KiB
Makefile
31 lines
1.1 KiB
Makefile
# Runs every CVE regression check under audit/ against a doos binary.
|
|
# Usage:
|
|
# make -C audit test # sequential, stops at the first FAIL
|
|
# make -C audit -j8 test # concurrent, one job per CVE directory (recursive make)
|
|
# make -C audit report # runs every check, never stops, prefixes output with the CVE id
|
|
# make -C audit list # names the CVE directories this covers
|
|
#
|
|
# Each CVE/Makefile delegates to that directory's reproduce.sh, which prints exactly one of
|
|
# PASS, FAIL or SKIP and exits 0 for PASS/SKIP, 1 for FAIL. "test" is the hard cap: this file
|
|
# does not invent new checks, it only fans out to the fixed, named list below.
|
|
|
|
DOOS ?= $(abspath ../build/doos)
|
|
CVES := $(sort $(wildcard CVE-*))
|
|
export DOOS
|
|
|
|
.PHONY: test $(CVES) list report
|
|
|
|
test: $(CVES)
|
|
@echo "audit: $(words $(CVES)) CVE checks run against $(DOOS)"
|
|
|
|
$(CVES):
|
|
@$(MAKE) -s -C $@ test DOOS=$(DOOS)
|
|
|
|
list:
|
|
@for c in $(CVES); do echo $$c; done
|
|
|
|
report:
|
|
@status=0; for c in $(CVES); do \
|
|
$(MAKE) -s -C $$c test DOOS=$(DOOS) 2>&1 | sed "s/^/$$c: /" || status=1; \
|
|
done; exit $$status
|