# A-A-P recipe for testing the Recipe Executive. # # This runs all tests. # When an error is encountered, the testing stops and the next time it restarts # with the same test (to be able to quickly check if it was fixed). # When all tests pass successfully, the next time they are all run again. # Thus after fixing an error and checking that it was fixed, all tests need to # be run again to check for side effects on earlier tests. UNITTEST = `sort_list(glob("unittest/*.py"))` RECTEST = `sort_list(glob("rectest/*.py"))` DONE = $UNITTEST.done $RECTEST.done # We need Python 2.0 or later. Sometimes it's called "python2" instead of # "python". Use whatever we were started with. @import sys @PYTHON = sys.executable # Run those tests that were not run since the last time. When they # all succeed delete the ".done" files to start all over next time. # Need to specify a sign directory, otherwise they go into "rectest/aap/sign" # and overwrite what happens there for the tests! all: $DONE {check = time} {signdirectory = .} :print TESTS COMPLETED SUCCESSFULLY. :del -q $DONE clean: :del -q $DONE :rule %.py.done : %.py :sys $PYTHON $source :touch -f $target .