Bug 828691 - Add a mach command to run mochitest Metro chrome tests [r=gps]

This commit is contained in:
Matt Brubeck
2013-02-12 14:51:24 -06:00
parent 663618b75f
commit 1471abe892

View File

@@ -5,6 +5,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import os import os
import platform
from mozbuild.base import ( from mozbuild.base import (
MachCommandBase, MachCommandBase,
@@ -47,10 +48,20 @@ class MochitestRunner(MozbuildObject):
# TODO hook up Python harness runner. # TODO hook up Python harness runner.
self._run_make(directory='.', target='mochitest-browser-chrome') self._run_make(directory='.', target='mochitest-browser-chrome')
def run_metro_chrome_suite(self):
"""Runs Windows 8 Metro browser chrome mochitests."""
# TODO hook up Python harness runner.
self._run_make(directory='.', target='mochitest-metro-chrome')
def run_all(self): def run_all(self):
self.run_plain_suite() self.run_plain_suite()
self.run_chrome_suite() self.run_chrome_suite()
self.run_browser_chrome_suite() self.run_browser_chrome_suite()
# Run Metro tests only on Windows 8 and higher
if platform.system() is 'Windows':
version = tuple(map(int, platform.version().split('.')))
if version >= (6, 2):
self.run_metro_chrome_suite()
def run_mochitest_test(self, suite=None, test_file=None, debugger=None): def run_mochitest_test(self, suite=None, test_file=None, debugger=None):
"""Runs a mochitest. """Runs a mochitest.
@@ -60,7 +71,7 @@ class MochitestRunner(MozbuildObject):
test files. test files.
suite is the type of mochitest to run. It can be one of ('plain', suite is the type of mochitest to run. It can be one of ('plain',
'chrome', 'browser'). 'chrome', 'browser', 'metro', 'a11y').
debugger is a program name or path to a binary (presumably a debugger) debugger is a program name or path to a binary (presumably a debugger)
to run the test in. e.g. 'gdb' to run the test in. e.g. 'gdb'
@@ -74,6 +85,8 @@ class MochitestRunner(MozbuildObject):
target = 'mochitest-chrome' target = 'mochitest-chrome'
elif suite == 'browser': elif suite == 'browser':
target = 'mochitest-browser-chrome' target = 'mochitest-browser-chrome'
elif suite == 'metro':
target = 'mochitest-metro-chrome'
elif suite == 'a11y': elif suite == 'a11y':
target = 'mochitest-a11y' target = 'mochitest-a11y'
else: else:
@@ -123,6 +136,14 @@ class MachCommands(MachCommandBase):
def run_mochitest_browser(self, test_file, debugger=None): def run_mochitest_browser(self, test_file, debugger=None):
return self.run_mochitest(test_file, 'browser', debugger=debugger) return self.run_mochitest(test_file, 'browser', debugger=debugger)
@Command('mochitest-metro', help='Run a mochitest with metro browser chrome.')
@CommandArgument('--debugger', '-d', metavar='DEBUGGER',
help=debugger_help)
@CommandArgument('test_file', default=None, nargs='?', metavar='TEST',
help=generic_help)
def run_mochitest_metro(self, test_file, debugger=None):
return self.run_mochitest(test_file, 'metro', debugger=debugger)
@Command('mochitest-a11y', help='Run an a11y mochitest.') @Command('mochitest-a11y', help='Run an a11y mochitest.')
@CommandArgument('--debugger', '-d', metavar='DEBUGGER', @CommandArgument('--debugger', '-d', metavar='DEBUGGER',
help=debugger_help) help=debugger_help)