# HG changeset patch # User Idan Kamara # Date 1360430019 -7200 # Node ID 2cbfb8c497eeeb376e22a7f76db54fb55f931b0a # Parent 30d899febef876da3643151fa00e3aaad4a6f79a tests: add a test runner utility that prints nothing when all tests pass This will be used to run tests through run-tests, which will expect no output for a unit test that passes successfully. The motivation for using unit tests instead of the current Python tests is that they don't require an output file for comparison and that they're easier to write because of the available tools from unittest (setup, asserts). diff -r 30d899febef8 -r 2cbfb8c497ee tests/silenttestrunner.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/silenttestrunner.py Sat Feb 09 19:13:39 2013 +0200 @@ -0,0 +1,18 @@ +import unittest, sys + +def main(modulename): + '''run the tests found in module, printing nothing when all tests pass''' + module = sys.modules[modulename] + suite = unittest.defaultTestLoader.loadTestsFromModule(module) + results = unittest.TestResult() + suite.run(results) + if results.errors or results.failures: + for tc, exc in results.errors: + print 'ERROR:', tc + print + sys.stdout.write(exc) + for tc, exc in results.failures: + print 'FAIL:', tc + print + sys.stdout.write(exc) + sys.exit(1)