Bug 1543725 - Add marionette support to Thunderbird, empty for now. r=rjl,whimboo
Differential Revision:
https://phabricator.services.mozilla.com/D27104
--- a/build/virtualenv_packages.txt
+++ b/build/virtualenv_packages.txt
@@ -1,1 +1,2 @@
comm.pth:comm/taskcluster
+comm.pth:comm/testing/marionette
--- a/mail/moz.build
+++ b/mail/moz.build
@@ -16,11 +16,11 @@ DIRS += [
]
if CONFIG['MAKENSISU']:
DIRS += ['installer/windows']
if CONFIG['MOZ_BUNDLED_FONTS']:
DIRS += ['/%s/browser/fonts' % CONFIG['mozreltopsrcdir']]
-TEST_DIRS += ['test/mozmill']
+TEST_DIRS += ['test/mozmill', 'test/marionette']
FINAL_TARGET_FILES.defaults += ['app/permissions']
new file mode 100644
--- /dev/null
+++ b/mail/test/marionette/manifest.ini
@@ -0,0 +1,1 @@
+[test_empty.py]
new file mode 100644
--- /dev/null
+++ b/mail/test/marionette/moz.build
@@ -0,0 +1,6 @@
+# vim: set filetype=python:
+# 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/.
+
+MARIONETTE_UNIT_MANIFESTS += ['manifest.ini']
new file mode 100644
--- /dev/null
+++ b/mail/test/marionette/test_empty.py
@@ -0,0 +1,12 @@
+# 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 print_function
+
+from marionette_harness import MarionetteTestCase
+
+class TestMain(MarionetteTestCase):
+
+ def test_empty(self):
+ return
--- a/taskcluster/ci/test/kind.yml
+++ b/taskcluster/ci/test/kind.yml
@@ -13,8 +13,9 @@ kind-dependencies:
transforms:
- taskgraph.transforms.tests:transforms
- comm_taskgraph:tests_drop_1proc
- taskgraph.transforms.job:transforms
- taskgraph.transforms.task:transforms
jobs-from:
- tests.yml
+ - marionette.yml
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/marionette.yml
@@ -0,0 +1,36 @@
+job-defaults:
+ suite: marionette
+ mozharness:
+ script: marionette.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - marionette/prod_config.py
+ - marionette/mac_taskcluster_config.py
+ windows.*:
+ - marionette/windows_taskcluster_config.py
+ default:
+ - marionette/prod_config.py
+ - remove_executables.py
+ extra-options:
+ - --application=thunderbird --test-manifest=../../../../../comm/testing/marionette/unit-tests.ini
+ run-on-projects: built-projects
+
+marionette:
+ description: "Marionette unittest run"
+ treeherder-symbol: Mn
+ max-run-time: 5400
+ e10s: false
+ instance-size: default
+ chunks: 1
+
+marionette-headless:
+ description: "Marionette headless unittest run"
+ treeherder-symbol: MnH
+ max-run-time: 5400
+ e10s: false
+ instance-size: default
+ mozharness:
+ extra-options:
+ - --headless
+
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -17,11 +17,13 @@
# Universal tests
#
# Tests that run just about everywhere; common-tests is the shared core, with
# a few add-on test sets that are included or omitted on some platforms.
common-tests:
- xpcshell
- mozmill
+ - marionette
+ - marionette-headless
optimized-tests:
- mochitest-thunderbird
new file mode 100644
--- /dev/null
+++ b/testing/marionette/thunderbirdinstance.py
@@ -0,0 +1,33 @@
+# 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/
+
+# ALL CHANGES TO THIS FILE MUST HAVE REVIEW FROM A MARIONETTE PEER!
+#
+# The Marionette Python client is used out-of-tree with various builds of
+# Firefox. Removing a preference from this file will cause regressions,
+# so please be careful and get review from a Testing :: Marionette peer
+# before you make any changes to this file.
+
+from __future__ import absolute_import
+
+
+thunderbird_prefs = {
+ # Disable application updates
+ "app.update.disabledForTesting": True,
+
+ # Enable output of dump()
+ "browser.dom.window.dump.enabled": True,
+
+ # Do not show the EULA notification which can interfer with tests
+ "browser.EULA.override": True,
+
+ # Do not start first-run items
+ "mail.provider.suppress_dialog_on_startup": True,
+ "mail.spotlight.firstRunDone": True,
+ "mail.winsearch.firstRunDone": True,
+
+ # Do not open start page
+ "mailnews.start_page.override_url": "about:blank",
+ "mailnews.start_page.url": "about:blank",
+}
new file mode 100644
--- /dev/null
+++ b/testing/marionette/unit-tests.ini
@@ -0,0 +1,2 @@
+# mail tests
+[include:../../mail/test/marionette/manifest.ini]