Bug 1407763 - Fix the flake erorrs, and add spaces between import statements r?whimboo draft
authorMike Yusko <freshjelly12@yahoo.com>
Thu, 07 Dec 2017 14:21:34 +0200
changeset 709008 0e90ecca2248cd0e8994fb7f6d871a0983d0655c
parent 707789 9f5bcbdd424ad8e7fe5d1120d706df345b7574d3
child 709012 bc03a7150de3c23743227186d62b4ed6b9f35607
push id92508
push userbmo:freshjelly12@yahoo.com
push dateThu, 07 Dec 2017 12:22:58 +0000
reviewerswhimboo
bugs1407763
milestone59.0a1
Bug 1407763 - Fix the flake erorrs, and add spaces between import statements r?whimboo MozReview-Commit-ID: BN7s7YqhQP8
npm-shrinkwrap.json
testing/marionette/harness/marionette_harness/tests/unit/test_execute_sandboxes.py
testing/marionette/harness/marionette_harness/tests/unit/test_file_upload.py
testing/marionette/harness/marionette_harness/tests/unit/test_geckoinstance.py
testing/marionette/harness/marionette_harness/tests/unit/test_getactiveframe_oop.py
testing/marionette/harness/marionette_harness/tests/unit/test_key_actions.py
testing/marionette/harness/marionette_harness/tests/unit/test_localization.py
testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py
testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py
testing/marionette/harness/marionette_harness/tests/unit/test_window_type_chrome.py
testing/marionette/harness/marionette_harness/tests/unit/test_with_using_context.py
testing/marionette/harness/setup.py
testing/marionette/mach_commands.py
testing/marionette/mach_test_package_commands.py
testing/marionette/puppeteer/firefox/docs/conf.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/__init__.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/appinfo.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/keys.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/l10n.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/places.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/security.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/software_update.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/api/utils.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/base.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/decorators.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/errors.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/mixins.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/puppeteer.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/deck.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/window.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/base.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/notifications.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/toolbars.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/window.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/deck.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/menu.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/deck.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/window.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/__init__.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/wizard.py
testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/windows.py
testing/marionette/puppeteer/firefox/setup.py
--- a/npm-shrinkwrap.json
+++ b/npm-shrinkwrap.json
@@ -1,11 +1,10 @@
 {
   "name": "mozillaeslintsetup",
-  "requires": true,
   "lockfileVersion": 1,
   "dependencies": {
     "acorn": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz",
       "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w=="
     },
     "acorn-jsx": {
@@ -453,21 +452,17 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-4.0.0.tgz",
       "integrity": "sha512-xK/909qOTq5JVzuO2jo4a24nQcWhkOBz9dOIkORvB7RxC75a4b6B9wFpBXAl8WDhwJGFDj5gBDRN+/L3kK/ghw==",
       "requires": {
         "htmlparser2": "3.9.2"
       }
     },
     "eslint-plugin-mozilla": {
-      "version": "file:tools/lint/eslint/eslint-plugin-mozilla",
-      "requires": {
-        "ini-parser": "0.0.2",
-        "sax": "1.2.4"
-      }
+      "version": "file:tools/lint/eslint/eslint-plugin-mozilla"
     },
     "eslint-plugin-no-unsanitized": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-2.0.1.tgz",
       "integrity": "sha1-yt7dDQrRfI3FIm23/4hATlmo1n8=",
       "requires": {
         "eslint": "3.19.0"
       },
@@ -1431,33 +1426,33 @@
         "is-fullwidth-code-point": "2.0.0"
       }
     },
     "sprintf-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
     },
+    "string_decoder": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+      "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+      "requires": {
+        "safe-buffer": "5.1.1"
+      }
+    },
     "string-width": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
       "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
       "requires": {
         "is-fullwidth-code-point": "2.0.0",
         "strip-ansi": "4.0.0"
       }
     },
-    "string_decoder": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
-      "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
-      "requires": {
-        "safe-buffer": "5.1.1"
-      }
-    },
     "strip-ansi": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
       "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
       "requires": {
         "ansi-regex": "3.0.0"
       },
       "dependencies": {
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_execute_sandboxes.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_execute_sandboxes.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.errors import JavascriptException
 
 from marionette_harness import MarionetteTestCase
 
 
 class TestExecuteSandboxes(MarionetteTestCase):
     def setUp(self):
         super(TestExecuteSandboxes, self).setUp()
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_file_upload.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_file_upload.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 import contextlib
 import urllib
 
 from tempfile import NamedTemporaryFile as tempfile
 
 from marionette_driver import By, errors, expected
 from marionette_driver.wait import Wait
 from marionette_harness import MarionetteTestCase, skip
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_geckoinstance.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_geckoinstance.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.geckoinstance import apps, GeckoInstance
 
 from marionette_harness import MarionetteTestCase
 
 
 class TestGeckoInstance(MarionetteTestCase):
 
     def test_create(self):
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_getactiveframe_oop.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_getactiveframe_oop.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.by import By
 
 from marionette_harness import MarionetteTestCase
 
 
 OOP_BY_DEFAULT = "dom.ipc.browser_frames.oop_by_default"
 BROWSER_FRAMES_ENABLED = "dom.mozBrowserFramesEnabeld"
 
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_key_actions.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_key_actions.py
@@ -1,15 +1,16 @@
 # 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/.
 
 import urllib
 
 from __future__ import absolute_import
+
 from marionette_driver.by import By
 from marionette_driver.keys import Keys
 from marionette_driver.marionette import Actions
 
 from marionette_harness import MarionetteTestCase, skip_if_mobile, WindowManagerMixin
 
 
 def inline(doc):
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_localization.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_localization.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By
 from marionette_driver.errors import (
     InvalidArgumentException,
     NoSuchElementException,
     UnknownException
 )
 from marionette_driver.localization import L10n
 
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 import os
 import sys
 
 # add this directory to the path
 sys.path.append(os.path.dirname(__file__))
 
 from test_window_status_content import TestNoSuchWindowContent
 
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By
 from marionette_driver.errors import NoSuchWindowException
 
 from marionette_harness import MarionetteTestCase, WindowManagerMixin, skip_if_mobile
 
 
 class TestNoSuchWindowContent(WindowManagerMixin, MarionetteTestCase):
 
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_window_type_chrome.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_window_type_chrome.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_harness import MarionetteTestCase, WindowManagerMixin
 
 
 class TestWindowTypeChrome(WindowManagerMixin, MarionetteTestCase):
 
     def setUp(self):
         super(TestWindowTypeChrome, self).setUp()
 
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_with_using_context.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_with_using_context.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.decorators import using_context
 from marionette_driver.errors import MarionetteException
 
 from marionette_harness import MarionetteTestCase
 
 
 class TestSetContext(MarionetteTestCase):
     def setUp(self):
--- a/testing/marionette/harness/setup.py
+++ b/testing/marionette/harness/setup.py
@@ -1,9 +1,10 @@
-from __future__ import absolute_import 
+from __future__ import absolute_import
+
 import os
 import re
 
 from setuptools import find_packages, setup
 
 
 THIS_DIR = os.path.dirname(os.path.realpath(__name__))
 
--- a/testing/marionette/mach_commands.py
+++ b/testing/marionette/mach_commands.py
@@ -1,14 +1,17 @@
 # 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 __future__ import absolute_import, unicode_literals
-from __future__ import print_function 
+from __future__ import (
+    absolute_import,
+    print_function,
+    unicode_literals
+)
 
 import argparse
 import os
 import sys
 
 from mach.decorators import (
     CommandArgument,
     CommandProvider,
--- a/testing/marionette/mach_test_package_commands.py
+++ b/testing/marionette/mach_test_package_commands.py
@@ -1,14 +1,17 @@
 # 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 __future__ import absolute_import
-from __future__ import print_function
+from __future__ import (
+    absolute_import, 
+    print_function
+)
+
 import argparse
 import os
 import sys
 from functools import partial
 
 from mach.decorators import (
     CommandProvider,
     Command,
--- a/testing/marionette/puppeteer/firefox/docs/conf.py
+++ b/testing/marionette/puppeteer/firefox/docs/conf.py
@@ -8,16 +8,17 @@
 #
 # Note that not all possible configuration values are present in this
 # autogenerated file.
 #
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
 from __future__ import absolute_import
+
 import os
 
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 # sys.path.insert(0, os.path.abspath('.'))
 
 # -- General configuration ------------------------------------------------
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/__init__.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/__init__.py
@@ -1,10 +1,11 @@
 # 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 __future__ import absolute_import
+
 from firefox_puppeteer.mixins import PuppeteerMixin
 from firefox_puppeteer.puppeteer import Puppeteer
 
 
 __version__ = '52.1.0'
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/appinfo.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/appinfo.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from firefox_puppeteer.base import BaseLib
 
 
 class AppInfo(BaseLib):
     """This class provides access to various attributes of AppInfo.
 
     For more details on AppInfo, visit:
     https://developer.mozilla.org/en-US/docs/Mozilla/QA/Mozmill_tests/Shared_Modules/UtilsAPI/appInfo
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/keys.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/keys.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 import marionette_driver
 
 
 class Keys(marionette_driver.keys.Keys):
     """Proxy to marionette's keys with an "accel" provided for convenience
     testing across platforms."""
 
     def __init__(self, marionette):
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/l10n.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/l10n.py
@@ -4,16 +4,17 @@
 
 # -----------------
 # DEPRECATED module
 # -----------------
 # Replace its use in tests when Firefox 45 ESR support ends with
 # marionette_driver.localization.L10n
 
 from __future__ import absolute_import
+
 import copy
 
 from marionette_driver.errors import (
     NoSuchElementException,
     UnknownCommandException,
 )
 from marionette_driver.localization import L10n as L10nMarionette
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/places.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/places.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from collections import namedtuple
 from time import sleep
 
 from marionette_driver.errors import MarionetteException
 
 from firefox_puppeteer.base import BaseLib
 
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/security.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/security.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 import re
 
 from firefox_puppeteer.base import BaseLib
 from firefox_puppeteer.errors import NoCertificateError
 
 
 class Security(BaseLib):
     """Low-level access to security (SSL, TLS) related information."""
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/software_update.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/software_update.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 import ConfigParser
 import os
 import re
 import sys
 
 import mozinfo
 
 from firefox_puppeteer.base import BaseLib
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/utils.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/utils.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.errors import MarionetteException
 
 from firefox_puppeteer.base import BaseLib
 
 
 class Utils(BaseLib):
     """Low-level access to utility actions."""
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/base.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/base.py
@@ -1,14 +1,15 @@
 # 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 __future__ import absolute_import
 
+
 class BaseLib(object):
     """A base class that handles lazily setting the "client" class attribute."""
 
     def __init__(self, marionette):
         self._marionette = marionette
 
     @property
     def marionette(self):
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/decorators.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/decorators.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import 
+from __future__ import absolute_import
+
 from functools import wraps
 from importlib import import_module
 
 
 class use_class_as_property(object):
     """
     This decorator imports a library module and sets an instance
     of the associated class as an attribute on the Puppeteer
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/errors.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/errors.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.errors import MarionetteException
 
 
 class NoCertificateError(MarionetteException):
     pass
 
 
 class UnexpectedWindowTypeError(MarionetteException):
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/mixins.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/mixins.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from firefox_puppeteer.puppeteer import Puppeteer
 from firefox_puppeteer.ui.browser.window import BrowserWindow
 
 
 class PuppeteerMixin(object):
     """Mix-in class for Firefox specific API modules exposed to test scope.
 
     It also provides common set-up and tear-down code for Firefox tests.
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/puppeteer.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/puppeteer.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from decorators import use_class_as_property
 
 
 class Puppeteer(object):
     """The puppeteer class is used to expose additional API and UI libraries.
 
     Each library can be referenced by its puppeteer name as a member of a
     Puppeteer instance. For example, the `current_window` member of the
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/deck.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/deck.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By
 
 from firefox_puppeteer.ui.base import UIBaseLib
 from firefox_puppeteer.ui.deck import Panel
 
 
 class Deck(UIBaseLib):
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/window.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/window.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By
 
 from firefox_puppeteer.ui.about_window.deck import Deck
 from firefox_puppeteer.ui.windows import BaseWindow, Windows
 
 
 class AboutWindow(BaseWindow):
     """Representation of the About window."""
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/base.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/base.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver.marionette import HTMLElement
 
 from firefox_puppeteer.base import BaseLib
 from firefox_puppeteer.ui.windows import BaseWindow
 
 
 class UIBaseLib(BaseLib):
     """A base class for all UI element wrapper classes inside a chrome window."""
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/notifications.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/notifications.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from abc import ABCMeta
 
 from marionette_driver import By
 
 from firefox_puppeteer.ui.base import UIBaseLib
 
 
 class BaseNotification(UIBaseLib):
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import (
     By, Wait
 )
 
 from marionette_driver.errors import NoSuchElementException
 
 import firefox_puppeteer.errors as errors
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/toolbars.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/toolbars.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By, keys, Wait
 
 from firefox_puppeteer.ui.base import UIBaseLib
 
 
 class NavBar(UIBaseLib):
     """Provides access to the DOM elements contained in the
     navigation bar as well as the location bar."""
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/window.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/window.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By, Wait
 from marionette_driver.errors import NoSuchElementException
 
 from firefox_puppeteer.ui.about_window.window import AboutWindow
 from firefox_puppeteer.ui.browser.notifications import (
     AddOnInstallBlockedNotification,
     AddOnInstallConfirmationNotification,
     AddOnInstallCompleteNotification,
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/deck.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/deck.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from firefox_puppeteer.ui.base import UIBaseLib
 
 
 class Panel(UIBaseLib):
 
     def __eq__(self, other):
         return self.element.get_attribute('id') == other.element.get_attribute('id')
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/menu.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/menu.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By
 from marionette_driver.errors import NoSuchElementException
 
 from firefox_puppeteer.base import BaseLib
 from firefox_puppeteer.ui.base import DOMElement
 
 
 class MenuBar(BaseLib):
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/deck.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/deck.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By, Wait
 
 from firefox_puppeteer.ui.base import UIBaseLib
 from firefox_puppeteer.ui.deck import Panel
 
 
 class Deck(UIBaseLib):
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/window.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/window.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By
 
 from firefox_puppeteer.ui.pageinfo.deck import Deck
 from firefox_puppeteer.ui.windows import BaseWindow, Windows
 
 
 class PageInfoWindow(BaseWindow):
     """Representation of a page info window."""
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/__init__.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/__init__.py
@@ -1,6 +1,7 @@
 # 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 __future__ import absolute_import
+
 from dialog import UpdateWizardDialog
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By, Wait
 
 from firefox_puppeteer.ui.update_wizard.wizard import Wizard
 from firefox_puppeteer.ui.windows import BaseWindow, Windows
 
 
 # Bug 1143020 - Subclass from BaseDialog ui class with possible wizard mixin
 class UpdateWizardDialog(BaseWindow):
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/wizard.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/wizard.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By, Wait
 
 from firefox_puppeteer.ui.base import UIBaseLib
 from firefox_puppeteer.ui.deck import Panel
 
 
 class Wizard(UIBaseLib):
 
--- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/windows.py
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/windows.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 from marionette_driver import By, Wait
 from marionette_driver.errors import NoSuchWindowException
 from marionette_driver.keys import Keys
 
 import firefox_puppeteer.errors as errors
 
 from firefox_puppeteer.api.l10n import L10n
 from firefox_puppeteer.base import BaseLib
--- a/testing/marionette/puppeteer/firefox/setup.py
+++ b/testing/marionette/puppeteer/firefox/setup.py
@@ -1,13 +1,14 @@
 # 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 __future__ import absolute_import
+
 import os
 import re
 from setuptools import setup, find_packages
 
 THIS_DIR = os.path.dirname(os.path.realpath(__name__))
 
 
 def read(*parts):