Initial test framework and first test.
Add a basic test framework, borrowed from the framework used by git.git. A shell script library (tests/test-lib.sh) helps generate the fixtures, and simplifies the process of writing test scripts. Tests can be run as a suite (via 'make test') or individually (sh tests/t0000-config.sh). Results are aggregated upon completion. Includes a detailed README. A basic test of config file processing is part of this commit. Signed-off-by: Emil Sit <sit@emilsit.net>
This commit is contained in:
23
Makefile
23
Makefile
@@ -29,6 +29,23 @@ dist: $(DISTFILES) todo.sh
|
||||
clean:
|
||||
rm -f $(DISTNAME).tar.gz $(DISTNAME).zip
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
@echo "TBD!"
|
||||
#
|
||||
# Testing
|
||||
#
|
||||
TESTS = $(wildcard tests/t[0-9][0-9][0-9][0-9]-*.sh)
|
||||
#TEST_OPTIONS=--verbose
|
||||
|
||||
test-pre-clean:
|
||||
rm -rf tests/test-results "tests/trash directory"*
|
||||
|
||||
aggregate-results: $(TESTS)
|
||||
|
||||
$(TESTS): test-pre-clean
|
||||
-cd tests && sh $(notdir $@) $(TEST_OPTIONS)
|
||||
|
||||
test: aggregate-results
|
||||
tests/aggregate-results.sh tests/test-results/t*-*
|
||||
rm -rf tests/test-results
|
||||
|
||||
# Force tests to get run every time
|
||||
.PHONY: test test-pre-clean aggregate-results $(TESTS)
|
||||
|
||||
Reference in New Issue
Block a user