diff options
Diffstat (limited to 'python/mach/mach/test/providers/commands.py')
-rw-r--r-- | python/mach/mach/test/providers/commands.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/python/mach/mach/test/providers/commands.py b/python/mach/mach/test/providers/commands.py new file mode 100644 index 0000000000..6b8210c513 --- /dev/null +++ b/python/mach/mach/test/providers/commands.py @@ -0,0 +1,33 @@ +# 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/. + +from functools import partial + +from mach.decorators import Command, CommandArgument + + +def is_foo(cls): + """Foo must be true""" + return cls.foo + + +def is_bar(val, cls): + """Bar must equal val""" + return cls.bar == val + + +@Command("cmd_foo", category="testing") +@CommandArgument("--arg", default=None, help="Argument help.") +def run_foo(command_context): + pass + + +@Command("cmd_bar", category="testing", conditions=[partial(is_bar, False)]) +def run_bar(command_context): + pass + + +@Command("cmd_foobar", category="testing", conditions=[is_foo, partial(is_bar, True)]) +def run_foobar(command_context): + pass |