зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1366071 - Add check in talos tp6 to ensure mitmproxy certificate was installed successfully; r=jmaher
MozReview-Commit-ID: 8wRtSSQ5SEp --HG-- extra : rebase_source : eaca0fc6d1e1bbaee313e84ab787039b45b5da63
This commit is contained in:
Родитель
96e2314506
Коммит
e229a35db0
|
@ -31,6 +31,15 @@ def write_autoconfig_files(fx_install_dir,
|
||||||
fd.write(autoconfig_contents)
|
fd.write(autoconfig_contents)
|
||||||
|
|
||||||
|
|
||||||
|
def read_autoconfig_file(fx_install_dir):
|
||||||
|
''' Read autoconfig file that modifies Firefox startup
|
||||||
|
|
||||||
|
fx_install_dir - path to Firefox installation
|
||||||
|
'''
|
||||||
|
with open(_cfg_file_path(fx_install_dir), 'r') as fd:
|
||||||
|
return fd.read()
|
||||||
|
|
||||||
|
|
||||||
def _autoconfig_path(fx_install_dir):
|
def _autoconfig_path(fx_install_dir):
|
||||||
platform = platform_name()
|
platform = platform_name()
|
||||||
if platform in ('win32', 'win64'):
|
if platform in ('win32', 'win64'):
|
||||||
|
|
|
@ -71,9 +71,22 @@ def _read_certificate(certificate_path):
|
||||||
return ''.join(contents.splitlines()[1:-1])
|
return ''.join(contents.splitlines()[1:-1])
|
||||||
|
|
||||||
|
|
||||||
def is_mitmproxy_cert_installed():
|
def is_mitmproxy_cert_installed(browser_install):
|
||||||
"""Verify mitmxproy CA cert was added to Firefox"""
|
"""Verify mitmxproy CA cert was added to Firefox"""
|
||||||
# TODO: Bug 1366071
|
from mozharness.mozilla.firefox.autoconfig import read_autoconfig_file
|
||||||
|
try:
|
||||||
|
# read autoconfig file, confirm mitmproxy cert is in there
|
||||||
|
certificate = _read_certificate(DEFAULT_CERT_PATH)
|
||||||
|
contents = read_autoconfig_file(browser_install)
|
||||||
|
if (MITMPROXY_SETTINGS % {'cert': certificate}) in contents:
|
||||||
|
LOG.info("Verified mitmproxy CA certificate is installed in Firefox")
|
||||||
|
else:
|
||||||
|
LOG.info("Firefox autoconfig file contents:")
|
||||||
|
LOG.info(contents)
|
||||||
|
return False
|
||||||
|
except:
|
||||||
|
LOG.info("Failed to read Firefox autoconfig file, when verifying CA certificate install")
|
||||||
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@ -89,7 +102,7 @@ def install_mitmproxy_cert(mitmproxy_proc, browser_path, scripts_path):
|
||||||
LOG.info('Calling configure_mitmproxy with browser folder: %s' % browser_install)
|
LOG.info('Calling configure_mitmproxy with browser folder: %s' % browser_install)
|
||||||
configure_mitmproxy(browser_install, scripts_path)
|
configure_mitmproxy(browser_install, scripts_path)
|
||||||
# cannot continue if failed to add CA cert to Firefox, need to check
|
# cannot continue if failed to add CA cert to Firefox, need to check
|
||||||
if not is_mitmproxy_cert_installed():
|
if not is_mitmproxy_cert_installed(browser_install):
|
||||||
LOG.error('Aborting: failed to install mitmproxy CA cert into Firefox')
|
LOG.error('Aborting: failed to install mitmproxy CA cert into Firefox')
|
||||||
stop_mitmproxy_playback(mitmproxy_proc)
|
stop_mitmproxy_playback(mitmproxy_proc)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
Загрузка…
Ссылка в новой задаче