Bug 1090962 - Skip steps of gather_debug when marionette session does not exist. r=davehunt

This commit is contained in:
Zac Campbell 2014-11-03 14:02:23 +00:00
Родитель 70baea09ea
Коммит ebc042d630
2 изменённых файлов: 23 добавлений и 18 удалений

Просмотреть файл

@ -498,14 +498,17 @@ class BaseMarionetteTestRunner(object):
def gather_debug(test, status):
rv = {}
marionette = test._marionette_weakref()
try:
marionette.set_context(marionette.CONTEXT_CHROME)
rv['screenshot'] = marionette.screenshot()
marionette.set_context(marionette.CONTEXT_CONTENT)
rv['source'] = marionette.page_source
except:
logger = get_default_logger()
logger.warning('Failed to gather test failure debug.', exc_info=True)
# In the event we're gathering debug without starting a session, skip marionette commands
if marionette.session is not None:
try:
marionette.set_context(marionette.CONTEXT_CHROME)
rv['screenshot'] = marionette.screenshot()
marionette.set_context(marionette.CONTEXT_CONTENT)
rv['source'] = marionette.page_source
except:
logger = get_default_logger()
logger.warning('Failed to gather test failure debug.', exc_info=True)
return rv
self.result_callbacks.append(gather_debug)

Просмотреть файл

@ -247,21 +247,23 @@ class HTMLReportingTestResultMixin(object):
def gather_debug(self):
debug = {}
try:
self.marionette.set_context(self.marionette.CONTEXT_CHROME)
debug['screenshot'] = self.marionette.screenshot()
self.marionette.set_context(self.marionette.CONTEXT_CONTENT)
debug['source'] = self.marionette.page_source
self.marionette.switch_to_frame()
debug['settings'] = json.dumps(self.marionette.execute_async_script("""
# In the event we're gathering debug without starting a session, skip marionette commands
if self.marionette.session is not None:
try:
self.marionette.set_context(self.marionette.CONTEXT_CHROME)
debug['screenshot'] = self.marionette.screenshot()
self.marionette.set_context(self.marionette.CONTEXT_CONTENT)
debug['source'] = self.marionette.page_source
self.marionette.switch_to_frame()
debug['settings'] = json.dumps(self.marionette.execute_async_script("""
SpecialPowers.addPermission('settings-read', true, document);
SpecialPowers.addPermission('settings-api-read', true, document);
var req = window.navigator.mozSettings.createLock().get('*');
req.onsuccess = function() {
marionetteScriptFinished(req.result);
}""", special_powers=True), sort_keys=True, indent=4, separators=(',', ': '))
except:
logger = get_default_logger()
logger.warning('Failed to gather test failure debug.', exc_info=True)
except:
logger = get_default_logger()
logger.warning('Failed to gather test failure debug.', exc_info=True)
return debug