mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-15 14:25:52 +00:00
Bug 1435433 - Print master test summary after android mochitests when runByManifest; r=jmaher
This commit is contained in:
parent
f76273fef7
commit
8b8a2994e8
@ -278,7 +278,7 @@ class RemoteAutomation(Automation):
|
||||
# device manager process
|
||||
dm = None
|
||||
def __init__(self, dm, cmd, stdout=None, stderr=None, env=None, cwd=None, app=None,
|
||||
messageLogger=None):
|
||||
messageLogger=None, counts=None):
|
||||
self.dm = dm
|
||||
self.stdoutlen = 0
|
||||
self.lastTestSeen = "remoteautomation.py"
|
||||
@ -286,6 +286,12 @@ class RemoteAutomation(Automation):
|
||||
self.messageLogger = messageLogger
|
||||
self.utilityPath = None
|
||||
|
||||
self.counts = counts
|
||||
if self.counts is not None:
|
||||
self.counts['pass'] = 0
|
||||
self.counts['fail'] = 0
|
||||
self.counts['todo'] = 0
|
||||
|
||||
if (self.proc is None):
|
||||
if cmd[0] == 'am':
|
||||
self.proc = stdout
|
||||
@ -360,6 +366,22 @@ class RemoteAutomation(Automation):
|
||||
for message in parsed_messages:
|
||||
if isinstance(message, dict) and message.get('action') == 'test_start':
|
||||
self.lastTestSeen = message['test']
|
||||
if isinstance(message, dict) and message.get('action') == 'log':
|
||||
line = message['message'].strip()
|
||||
if self.counts:
|
||||
m = re.match(".*:\s*(\d*)", line)
|
||||
if m:
|
||||
try:
|
||||
val = int(m.group(1))
|
||||
if "Passed:" in line:
|
||||
self.counts['pass'] += val
|
||||
elif "Failed:" in line:
|
||||
self.counts['fail'] += val
|
||||
elif "Todo:" in line:
|
||||
self.counts['todo'] += val
|
||||
except:
|
||||
pass
|
||||
|
||||
return True
|
||||
|
||||
@property
|
||||
|
@ -296,6 +296,10 @@ class MochiRemote(MochitestDesktop):
|
||||
kwargs.pop('marionette_args', None)
|
||||
|
||||
ret, _ = self._automation.runApp(*args, **kwargs)
|
||||
self.countpass += self.counts['pass']
|
||||
self.countfail += self.counts['fail']
|
||||
self.counttodo += self.counts['todo']
|
||||
|
||||
return ret, None
|
||||
|
||||
|
||||
@ -303,7 +307,8 @@ def run_test_harness(parser, options):
|
||||
parser.validate(options)
|
||||
|
||||
message_logger = MessageLogger(logger=None)
|
||||
process_args = {'messageLogger': message_logger}
|
||||
counts = dict()
|
||||
process_args = {'messageLogger': message_logger, 'counts': counts}
|
||||
auto = RemoteAutomation(None, "fennec", processArgs=process_args)
|
||||
|
||||
if options is None:
|
||||
@ -323,6 +328,7 @@ def run_test_harness(parser, options):
|
||||
log = mochitest.log
|
||||
message_logger.logger = log
|
||||
mochitest.message_logger = message_logger
|
||||
mochitest.counts = counts
|
||||
|
||||
# Check that Firefox is installed
|
||||
expected = options.app.split('/')[-1]
|
||||
|
Loading…
Reference in New Issue
Block a user