2010-01-25 05:47:28 -08:00
|
|
|
# $Id$
|
|
|
|
|
2010-03-25 07:51:49 -07:00
|
|
|
BASEDIR=${PWD}
|
2010-05-05 03:03:17 -07:00
|
|
|
NO_PRINT=`($(MAKE) empty --no-print-directory > /dev/null 2>&1) && echo '--no-print-directory' || echo ''`
|
2010-01-25 05:47:28 -08:00
|
|
|
|
|
|
|
default:
|
|
|
|
@echo "Available targets:"
|
|
|
|
@echo " all launches all tests"
|
|
|
|
@echo " list FILE=f launches the tests referenced in file f (one path per line)"
|
|
|
|
@echo " one DIR=p launches the tests located in path p"
|
|
|
|
@echo " lib builds library modules"
|
|
|
|
@echo " clean deletes generated files"
|
|
|
|
@echo " report prints the report for the last execution, if any"
|
|
|
|
|
|
|
|
all:
|
|
|
|
@for dir in tests/*; do \
|
2010-05-19 05:32:00 -07:00
|
|
|
$(MAKE) $(NO_PRINT) exec-one DIR=$$dir; \
|
2010-01-25 05:47:28 -08:00
|
|
|
done 2>&1 | tee _log
|
|
|
|
@$(MAKE) report
|
|
|
|
|
|
|
|
list:
|
|
|
|
@if [ -z $(FILE) ]; then echo "No value set for variable 'FILE'."; exit 1; fi
|
|
|
|
@if [ ! -f $(FILE) ]; then echo "File '$(FILE)' does not exist."; exit 1; fi
|
|
|
|
@while read LINE; do \
|
2010-05-19 05:32:00 -07:00
|
|
|
$(MAKE) $(NO_PRINT) exec-one DIR=$$LINE; \
|
2010-01-25 05:47:28 -08:00
|
|
|
done < $(FILE) 2>&1 | tee _log
|
|
|
|
@$(MAKE) report
|
|
|
|
|
|
|
|
one: lib
|
|
|
|
@if [ -z $(DIR) ]; then echo "No value set for variable 'DIR'."; exit 1; fi
|
|
|
|
@if [ ! -d $(DIR) ]; then echo "Directory '$(DIR)' does not exist."; exit 1; fi
|
2010-05-19 05:32:00 -07:00
|
|
|
@$(MAKE) $(NO_PRINT) exec-one DIR=$(DIR)
|
|
|
|
|
|
|
|
exec-one:
|
2010-01-25 05:47:28 -08:00
|
|
|
@echo "Running tests from '$$DIR' ..."
|
2010-01-28 07:50:18 -08:00
|
|
|
@(cd $(DIR) && $(MAKE) BASEDIR=$(BASEDIR) && cd ../..)
|
2010-01-25 05:47:28 -08:00
|
|
|
|
|
|
|
lib: FORCE
|
2010-01-28 07:50:18 -08:00
|
|
|
@(cd lib && $(MAKE) -s BASEDIR=$(BASEDIR) && cd ..)
|
2010-01-25 05:47:28 -08:00
|
|
|
|
|
|
|
clean: FORCE
|
2010-01-28 07:50:18 -08:00
|
|
|
@(cd lib && $(MAKE) BASEDIR=$(BASEDIR) clean && cd ..)
|
2010-01-25 05:47:28 -08:00
|
|
|
@for file in tests/*; do \
|
|
|
|
if [ -d $$file ]; then \
|
2010-01-28 07:50:18 -08:00
|
|
|
(cd $$file && $(MAKE) BASEDIR=$(BASEDIR) clean && cd ../..); \
|
2010-01-25 05:47:28 -08:00
|
|
|
fi \
|
|
|
|
done
|
2010-04-08 05:44:07 -07:00
|
|
|
@for file in interactive/*; do \
|
|
|
|
if [ -d $$file ]; then \
|
|
|
|
(cd $$file && $(MAKE) BASEDIR=$(BASEDIR) clean && cd ../..); \
|
|
|
|
fi \
|
|
|
|
done
|
2010-01-25 05:47:28 -08:00
|
|
|
|
|
|
|
report: FORCE
|
|
|
|
@if [ ! -f _log ]; then echo "No '_log' file."; exit 1; fi
|
|
|
|
@echo ''
|
|
|
|
@echo 'Summary:'
|
|
|
|
@echo ' ' `grep 'passed$$' _log | wc -l` 'test(s) passed'
|
|
|
|
@echo ' ' `grep 'failed$$' _log | wc -l` 'test(s) failed'
|
|
|
|
@echo ' ' `grep '^Error' _log | wc -l` 'compilation error(s)'
|
|
|
|
@echo ' ' `grep '^Warning' _log | wc -l` 'compilation warning(s)'
|
|
|
|
|
2010-05-05 03:03:17 -07:00
|
|
|
empty: FORCE
|
|
|
|
|
2010-01-25 05:47:28 -08:00
|
|
|
FORCE:
|