diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-07-29 23:13:38 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-07-29 23:23:54 +0300 |
| commit | 593c49c00fb3e8c73ce369bda4db3cdda8fdc706 (patch) | |
| tree | ca3b612109e990b839bd5ce90444ed9a253e8e79 /tests/scripts | |
| parent | bef57b702ce808a3419f6b52beb10f7dce6906a3 (diff) | |
| download | lark-593c49c00fb3e8c73ce369bda4db3cdda8fdc706.tar.gz lark-593c49c00fb3e8c73ce369bda4db3cdda8fdc706.zip | |
add simple test framework
Diffstat (limited to 'tests/scripts')
| -rwxr-xr-x | tests/scripts/gen-simple | 12 | ||||
| -rw-r--r-- | tests/scripts/makefile | 16 | ||||
| -rwxr-xr-x | tests/scripts/run-xpass | 11 |
3 files changed, 39 insertions, 0 deletions
diff --git a/tests/scripts/gen-simple b/tests/scripts/gen-simple new file mode 100755 index 0000000..3ce75f3 --- /dev/null +++ b/tests/scripts/gen-simple @@ -0,0 +1,12 @@ +#!/bin/sh + +mkdir -p $(for d in "${@}"; do echo "$d"; done | uniq | sed "s|^|reports/|") + +for s in "${@}" +do + echo ".PHONY: $s" >> tests.mk + echo "$s:" >> tests.mk + echo " ./scripts/run-xpass $s" >> tests.mk +done + +echo "TESTS += " "${@}" >> tests.mk diff --git a/tests/scripts/makefile b/tests/scripts/makefile new file mode 100644 index 0000000..6354488 --- /dev/null +++ b/tests/scripts/makefile @@ -0,0 +1,16 @@ +.PHONY: all +all: check + +TESTS := +include tests.mk + +.PHONY: check +check: $(TESTS) + @cd reports; for d in $(TESTS) ; do \ + if [ ! -f "$$d/OK" ]; then \ + echo "BROKEN: $$d" ; \ + elif [ "$$(tail -n1 $$d/OK)" != "OK" ]; then \ + echo "FAIL: $$d" ; \ + fi \ + done + @echo "Done." diff --git a/tests/scripts/run-xpass b/tests/scripts/run-xpass new file mode 100755 index 0000000..d20c436 --- /dev/null +++ b/tests/scripts/run-xpass @@ -0,0 +1,11 @@ +#!/bin/sh + +TEST="$1" +OK="reports/$TEST/OK" +LOG="reports/$TEST/log" + +if "./$1" > "$LOG" 2> "$LOG"; then + echo OK > "$OK" +else + echo FAIL > "$OK" +fi |
