diff options
Diffstat (limited to 'devbot/test.py')
-rw-r--r-- | devbot/test.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/devbot/test.py b/devbot/test.py new file mode 100644 index 0000000..eec2afc --- /dev/null +++ b/devbot/test.py @@ -0,0 +1,44 @@ +import os +import subprocess + +from devbot import config +from devbot import environ +from devbot import command +from devbot import xvfb + +def test_one(module_name): + environ.setup() + + for module in config.load_modules(): + if module.name == module_name: + return _test_module(module) + + return False + +def test(): + environ.setup() + + modules = config.load_modules() + for module in modules: + print module.name + if not _test_module(module): + return False + + return True + +def _test_module(module): + result = True + + if module.has_tests: + os.chdir(module.get_build_dir()) + + xvfb_proc, orig_display = xvfb.start() + + try: + command.run(["make", "test"]) + except subprocess.CalledProcessError: + result = False + + xvfb.stop(xvfb_proc, orig_display) + + return result |