- test-lib uses 'read -r' to parse the test session input literally, without interpretation of backslashes. - FIX: Use quoting to maintain original whitespace (tabs and multiple spaces) from the test session input (instead of condensing into a single space). - Using Bash instead of POSIX shell for t1340-listescapes.sh, so that the interpretation of escape sequences is not dependent on the POSIX shell being used. - Changed Makefile so that the shell selected by the shebang line is actually used when invoking tests, not the POSIX shell. - Above changes obsolete the multiple escaping of the test session data; now, the test session can actually be pasted as-is into a test script, even when it contains backslashes. (I.e. works as expected now.)
53 lines
1.2 KiB
Makefile
53 lines
1.2 KiB
Makefile
#
|
|
# Makefile for todo.txt
|
|
#
|
|
|
|
# Dynamically detect/generate version file as necessary
|
|
# This file will define a variable called VERSION.
|
|
.PHONY: .FORCE-VERSION-FILE
|
|
VERSION-FILE: .FORCE-VERSION-FILE
|
|
@./GEN-VERSION-FILE
|
|
-include VERSION-FILE
|
|
|
|
# Maybe this will include the version in it.
|
|
todo.sh: VERSION-FILE
|
|
|
|
# For packaging
|
|
DISTFILES := todo.cfg
|
|
|
|
DISTNAME=todo.txt_cli-$(VERSION)
|
|
dist: $(DISTFILES) todo.sh
|
|
mkdir -p $(DISTNAME)
|
|
cp -f $(DISTFILES) $(DISTNAME)/
|
|
sed -e 's/@DEV_VERSION@/'$(VERSION)'/' todo.sh > $(DISTNAME)/todo.sh
|
|
tar cf $(DISTNAME).tar $(DISTNAME)/
|
|
gzip -f -9 $(DISTNAME).tar
|
|
zip -9r $(DISTNAME).zip $(DISTNAME)/
|
|
rm -r $(DISTNAME)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f $(DISTNAME).tar.gz $(DISTNAME).zip
|
|
|
|
|
|
#
|
|
# 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 && ./$(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)
|