diff -r 000000000000 -r 6474c204b198 addon-sdk/mach_commands.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/addon-sdk/mach_commands.py Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,38 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Integrates the xpcshell test runner with mach. + +import os +import sys + +from mozbuild.base import ( + MachCommandBase, + MozbuildObject, +) + +from mach.decorators import ( + CommandArgument, + CommandProvider, + Command, +) + +class JetpackRunner(MozbuildObject): + """Run jetpack tests.""" + def run_tests(self, **kwargs): + self._run_make(target='jetpack-tests') + +@CommandProvider +class MachCommands(MachCommandBase): + @Command('jetpack-test', category='testing', + description='Runs the jetpack test suite.') + def run_jetpack_test(self, **params): + # We should probably have a utility function to ensure the tree is + # ready to run tests. Until then, we just create the state dir (in + # case the tree wasn't built with mach). + self._ensure_state_subdir_exists('.') + + jetpack = self._spawn(JetpackRunner) + + jetpack.run_tests(**params)