summaryrefslogtreecommitdiffstats
path: root/comm/testing
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /comm/testing
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/testing')
-rw-r--r--comm/testing/machine-configuration.json12
-rw-r--r--comm/testing/marionette/thunderbirdinstance.py77
-rw-r--r--comm/testing/marionette/unit-tests.ini2
-rw-r--r--comm/testing/mozharness/configs/builds/taskcluster_base_thunderbird.py12
-rw-r--r--comm/testing/mozharness/configs/builds/thunderbird_source.py16
-rw-r--r--comm/testing/mozharness/configs/releases/bouncer_thunderbird.py65
-rw-r--r--comm/testing/mozharness/configs/repackage/base.py15
-rw-r--r--comm/testing/mozharness/configs/repackage/tb_win32_sfx_stub.py7
-rw-r--r--comm/testing/mozharness/configs/single_locale/thunderbird.py11
-rw-r--r--comm/testing/mozharness/configs/single_locale/thunderbird_split_l10n.py21
-rw-r--r--comm/testing/mozharness/configs/unittests/thunderbird_extra.py28
11 files changed, 266 insertions, 0 deletions
diff --git a/comm/testing/machine-configuration.json b/comm/testing/machine-configuration.json
new file mode 100644
index 0000000000..da51ff8b08
--- /dev/null
+++ b/comm/testing/machine-configuration.json
@@ -0,0 +1,12 @@
+{
+ "win7": {
+ "screen_resolution": {
+ "x": 1280,
+ "y": 1024
+ },
+ "mouse_position": {
+ "x": 1010,
+ "y": 10
+ }
+ }
+}
diff --git a/comm/testing/marionette/thunderbirdinstance.py b/comm/testing/marionette/thunderbirdinstance.py
new file mode 100644
index 0000000000..d365379464
--- /dev/null
+++ b/comm/testing/marionette/thunderbirdinstance.py
@@ -0,0 +1,77 @@
+# 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.
+
+
+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",
+ # Do not check it is the default client at startup
+ "mail.shell.checkDefaultClient": False,
+ # Set up a dummy account to unlock various actions
+ "mail.root.none-rel": "[ProfD]Mail",
+ "mail.root.pop3-rel": "[ProfD]Mail",
+ "mail.account.account1.server": "server1",
+ "mail.account.account2.identities": "id1,id2",
+ "mail.account.account2.server": "server2",
+ "mail.account.account3.server": "server3",
+ "mail.accountmanager.accounts": "account1,account2,account3",
+ "mail.accountmanager.defaultaccount": "account2",
+ "mail.accountmanager.localfoldersserver": "server1",
+ "mail.identity.id1.fullName": "Tinderbox",
+ "mail.identity.id1.htmlSigFormat": False,
+ "mail.identity.id1.htmlSigText": "Tinderbox is soo 90ies",
+ "mail.identity.id1.smtpServer": "smtp1",
+ "mail.identity.id1.useremail": "tinderbox@foo.invalid",
+ "mail.identity.id1.valid": True,
+ "mail.identity.id2.fullName": "Tinderboxpushlog",
+ "mail.identity.id2.htmlSigFormat": True,
+ "mail.identity.id2.htmlSigText": "Tinderboxpushlog is the new <b>hotness!</b>",
+ "mail.identity.id2.smtpServer": "smtp1",
+ "mail.identity.id2.useremail": "tinderboxpushlog@foo.invalid",
+ "mail.identity.id2.valid": True,
+ "mail.server.server1.directory-rel": "[ProfD]Mail/Local Folders",
+ "mail.server.server1.hostname": "Local Folders",
+ "mail.server.server1.name": "Local Folders",
+ "mail.server.server1.type": "none",
+ "mail.server.server1.userName": "nobody",
+ "mail.server.server2.check_new_mail": False,
+ "mail.server.server2.directory-rel": "[ProfD]Mail/tinderbox",
+ "mail.server.server2.download_on_biff": True,
+ "mail.server.server2.hostname": "tinderbox123",
+ "mail.server.server2.login_at_startup": False,
+ "mail.server.server2.name": "tinderbox@foo.invalid",
+ "mail.server.server2.type": "pop3",
+ "mail.server.server2.userName": "tinderbox",
+ "mail.server.server2.whiteListAbURI": "",
+ "mail.server.server3.hostname": "prpl-irc",
+ "mail.server.server3.imAccount": "account1",
+ "mail.server.server3.type": "im",
+ "mail.server.server3.userName": "mozmilltest@irc.mozilla.invalid",
+ "mail.smtp.defaultserver": "smtp1",
+ "mail.smtpserver.smtp1.hostname": "tinderbox123",
+ "mail.smtpserver.smtp1.username": "tinderbox",
+ "mail.smtpservers": "smtp1",
+ "messenger.account.account1.autoLogin": False,
+ "messenger.account.account1.firstConnectionState": 1,
+ "messenger.account.account1.name": "mozmilltest@irc.mozilla.invalid",
+ "messenger.account.account1.prpl": "prpl-irc",
+}
diff --git a/comm/testing/marionette/unit-tests.ini b/comm/testing/marionette/unit-tests.ini
new file mode 100644
index 0000000000..133102a00d
--- /dev/null
+++ b/comm/testing/marionette/unit-tests.ini
@@ -0,0 +1,2 @@
+# mail tests
+[include:../../mail/test/marionette/manifest.ini]
diff --git a/comm/testing/mozharness/configs/builds/taskcluster_base_thunderbird.py b/comm/testing/mozharness/configs/builds/taskcluster_base_thunderbird.py
new file mode 100644
index 0000000000..e4e8680760
--- /dev/null
+++ b/comm/testing/mozharness/configs/builds/taskcluster_base_thunderbird.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/.
+
+config = {
+ "stage_product": "thunderbird",
+ "stage_username": "tbirdbld",
+ "stage_ssh_key": "tbirdbld_rsa",
+ "app_name": "comm/mail",
+ # Thunderbird doesn't compile under pgo
+ "pgo_platforms": [],
+}
diff --git a/comm/testing/mozharness/configs/builds/thunderbird_source.py b/comm/testing/mozharness/configs/builds/thunderbird_source.py
new file mode 100644
index 0000000000..b38fc27ee0
--- /dev/null
+++ b/comm/testing/mozharness/configs/builds/thunderbird_source.py
@@ -0,0 +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/.
+
+config = {
+ "default_actions": ["package-source"],
+ "stage_platform": "source", # Not used, but required by the script
+ "app_ini_path": "FAKE", # Not used, but required by the script
+ "env": {
+ "HG_SHARE_BASE_DIR": "/builds/hg-shared",
+ "TINDERBOX_OUTPUT": "1",
+ "LC_ALL": "C",
+ "MOZ_OBJDIR": "%(abs_obj_dir)s",
+ },
+ "src_mozconfig": "comm/mail/config/mozconfigs/linux64/source",
+}
diff --git a/comm/testing/mozharness/configs/releases/bouncer_thunderbird.py b/comm/testing/mozharness/configs/releases/bouncer_thunderbird.py
new file mode 100644
index 0000000000..3477a263b2
--- /dev/null
+++ b/comm/testing/mozharness/configs/releases/bouncer_thunderbird.py
@@ -0,0 +1,65 @@
+# 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/.
+
+# lint_ignore=E501
+config = {
+ "products": {
+ "installer": {
+ "product-name": "Thunderbird-%(version)s",
+ "platforms": [
+ "linux",
+ "linux64",
+ "osx",
+ "win",
+ "win64",
+ ],
+ },
+ "installer-ssl": {
+ "product-name": "Thunderbird-%(version)s-SSL",
+ "platforms": [
+ "linux",
+ "linux64",
+ "osx",
+ "win",
+ "win64",
+ ],
+ },
+ "msi": {
+ "product-name": "Thunderbird-%(version)s-msi-SSL",
+ "platforms": [
+ "win",
+ "win64",
+ ],
+ },
+ "msix": {
+ "product-name": "Thunderbird-%(version)s-msix-SSL",
+ "platforms": [
+ "win",
+ "win64",
+ ],
+ },
+ "complete-mar": {
+ "product-name": "Thunderbird-%(version)s-Complete",
+ "platforms": [
+ "linux",
+ "linux64",
+ "osx",
+ "win",
+ "win64",
+ ],
+ },
+ },
+ "partials": {
+ "releases-dir": {
+ "product-name": "Thunderbird-%(version)s-Partial-%(prev_version)s",
+ "platforms": [
+ "linux",
+ "linux64",
+ "osx",
+ "win",
+ "win64",
+ ],
+ },
+ },
+}
diff --git a/comm/testing/mozharness/configs/repackage/base.py b/comm/testing/mozharness/configs/repackage/base.py
new file mode 100644
index 0000000000..e2958ba343
--- /dev/null
+++ b/comm/testing/mozharness/configs/repackage/base.py
@@ -0,0 +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/.
+
+import os
+
+# Paths are relative to mozilla-central
+config = {
+ "package-name": "thunderbird",
+ "installer-tag": "comm/mail/installer/windows/app.tag",
+ "sfx-stub": "comm/other-licenses/7zstub/thunderbird/7zSD.sfx",
+ "stub-installer-tag": "",
+ "wsx-stub": "comm/mail/installer/windows/msi/installer.wxs",
+ "fetch-dir": os.environ.get("MOZ_FETCHES_DIR"),
+}
diff --git a/comm/testing/mozharness/configs/repackage/tb_win32_sfx_stub.py b/comm/testing/mozharness/configs/repackage/tb_win32_sfx_stub.py
new file mode 100644
index 0000000000..0d7addc8bc
--- /dev/null
+++ b/comm/testing/mozharness/configs/repackage/tb_win32_sfx_stub.py
@@ -0,0 +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/.
+
+config = {
+ "sfx-stub": "comm/other-licenses/7zstub/thunderbird/7zSD.sfx",
+}
diff --git a/comm/testing/mozharness/configs/single_locale/thunderbird.py b/comm/testing/mozharness/configs/single_locale/thunderbird.py
new file mode 100644
index 0000000000..451aa77783
--- /dev/null
+++ b/comm/testing/mozharness/configs/single_locale/thunderbird.py
@@ -0,0 +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/.
+
+config = {
+ # Source path
+ "app_name": "comm/mail",
+ "mozconfig_variant": "l10n-mozconfig",
+ "locales_file": "src/comm/mail/locales/all-locales",
+ "locales_dir": "comm/mail/locales",
+}
diff --git a/comm/testing/mozharness/configs/single_locale/thunderbird_split_l10n.py b/comm/testing/mozharness/configs/single_locale/thunderbird_split_l10n.py
new file mode 100644
index 0000000000..3af0654e15
--- /dev/null
+++ b/comm/testing/mozharness/configs/single_locale/thunderbird_split_l10n.py
@@ -0,0 +1,21 @@
+# 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/.
+
+config = {
+ # Source path
+ "app_name": "comm/mail",
+ "mozconfig_variant": "l10n-mozconfig",
+ # Used to get toolkit & devtools strings
+ "hg_l10n_base": "https://hg.mozilla.org/l10n-central",
+ # URL of comm-l10n monorepo
+ "hg_comm_l10n_repo": "https://hg.mozilla.org/projects/comm-l10n",
+ "locales_dir": "comm/mail/locales",
+ "ignore_locales": ["en-US"],
+ "bootstrap_env": {
+ "NO_MERCURIAL_SETUP_CHECK": "1",
+ "MOZ_OBJDIR": "%(abs_obj_dir)s",
+ "DIST": "%(abs_obj_dir)s",
+ "L10NBASEDIR": "../../l10n",
+ },
+}
diff --git a/comm/testing/mozharness/configs/unittests/thunderbird_extra.py b/comm/testing/mozharness/configs/unittests/thunderbird_extra.py
new file mode 100644
index 0000000000..66b8bcf281
--- /dev/null
+++ b/comm/testing/mozharness/configs/unittests/thunderbird_extra.py
@@ -0,0 +1,28 @@
+# 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/.
+
+#####
+config = {
+ "application": "thunderbird",
+ "minimum_tests_zip_dirs": [
+ "bin/*",
+ "certs/*",
+ "config/*",
+ "extensions/*",
+ "marionette/*",
+ "modules/*",
+ "mozbase/*",
+ "tools/*",
+ ],
+ "all_gtest_suites": {
+ "gtest": {"env": {"GTEST_FILTER": "TestMail*:TestMsg*"}},
+ },
+ "all_mochitest_suites": {
+ "mochitest-browser-chrome-thunderbird": [
+ "--flavor=browser",
+ "--subsuite=thunderbird",
+ "--leak-threshold=78643200", # 75MB
+ ],
+ },
+}