From 3f05816ea746124ca2b91842ba5f8bb5175c2068 Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Sat, 08 Dec 2012 14:54:01 +0000 Subject: Add per module tests to the check target --- (limited to 'devbot') diff --git a/devbot/config.py b/devbot/config.py index 9cce430..ed0f355 100644 --- a/devbot/config.py +++ b/devbot/config.py @@ -37,6 +37,7 @@ class Module: self.auto_install = info.get("auto-install", False) self.options = info.get("options", []) self.options_evaluated = info.get("options_evaluated", []) + self.has_tests = info.get("has_tests", False) if get_pref("BUILD_IN_SOURCE"): self.out_of_source = False 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 -- cgit v0.9.1