diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/ci/test/web-platform.yml index e48537b58fbb..2dbe7ca3aba3 100644 --- a/taskcluster/ci/test/web-platform.yml +++ b/taskcluster/ci/test/web-platform.yml @@ -16,7 +16,7 @@ job-defaults: windows.*: - web_platform_tests/prod_config_windows_taskcluster.py macosx.*: - - web_platform_tests/prod_config.py + - web_platform_tests/prod_config_mac.py android-em.*: - android/androidx86_7_0.py - web_platform_tests/prod_config_android.py diff --git a/testing/mozharness/configs/web_platform_tests/prod_config.py b/testing/mozharness/configs/web_platform_tests/prod_config.py index 21dc2d24cefa..3cb7bd9fcb30 100644 --- a/testing/mozharness/configs/web_platform_tests/prod_config.py +++ b/testing/mozharness/configs/web_platform_tests/prod_config.py @@ -6,6 +6,10 @@ import os +# OS Specifics +DISABLE_SCREEN_SAVER = True +ADJUST_MOUSE_AND_SCREEN = False +##### config = { "options": [ @@ -22,4 +26,28 @@ config = { "geckodriver": os.path.join("%(abs_test_bin_dir)s", "geckodriver"), "per_test_category": "web-platform", + + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json"], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN + }, + ], } diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_mac.py b/testing/mozharness/configs/web_platform_tests/prod_config_mac.py new file mode 100644 index 000000000000..f0317ed0a25d --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_mac.py @@ -0,0 +1,53 @@ +# ***** BEGIN LICENSE BLOCK ***** +# 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/. +# ***** END LICENSE BLOCK ***** + +import os + +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = False +##### + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--processes=1", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + + # this would normally be in "exes", but "exes" is clobbered by remove_executables + "geckodriver": os.path.join("%(abs_test_bin_dir)s", "geckodriver"), + + "per_test_category": "web-platform", + + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json"], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN + }, + ], +} diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_windows.py b/testing/mozharness/configs/web_platform_tests/prod_config_windows.py index 7fe77d5f611c..c0e0bfa16903 100644 --- a/testing/mozharness/configs/web_platform_tests/prod_config_windows.py +++ b/testing/mozharness/configs/web_platform_tests/prod_config_windows.py @@ -9,6 +9,11 @@ import os import sys +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +##### + config = { "options": [ @@ -31,4 +36,29 @@ config = { "geckodriver": os.path.join("%(abs_test_bin_dir)s", "geckodriver.exe"), "per_test_category": "web-platform", + + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + sys.executable, + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json"], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN + }, + ], } diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py b/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py index 16200011af76..7e910496637e 100644 --- a/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py +++ b/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py @@ -7,8 +7,23 @@ # This is a template config file for web-platform-tests test. import os +import platform import sys +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +DESKTOP_VISUALFX_THEME = { + 'Let Windows choose': 0, + 'Best appearance': 1, + 'Best performance': 2, + 'Custom': 3 +}.get('Best appearance') +TASKBAR_AUTOHIDE_REG_PATH = { + 'Windows 7': 'HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2', + 'Windows 10': 'HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3' +}.get('{} {}'.format(platform.system(), platform.release())) +##### config = { "options": [ @@ -33,7 +48,7 @@ config = { 'cmd': ['xset', 's', 'off', 's', 'reset'], 'architectures': ['32bit', '64bit'], 'halt_on_failure': False, - 'enabled': False + 'enabled': DISABLE_SCREEN_SAVER }, { 'name': 'run mouse & screen adjustment script', @@ -47,8 +62,48 @@ config = { ], 'architectures': ['32bit', '64bit'], 'halt_on_failure': True, + 'enabled': ADJUST_MOUSE_AND_SCREEN + }, + { + 'name': 'disable windows security and maintenance notifications', + 'cmd': [ + 'powershell', '-command', + '"&{$p=\'HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance\';if(!(Test-Path -Path $p)){&New-Item -Path $p -Force}&Set-ItemProperty -Path $p -Name Enabled -Value 0}"' + ], + 'architectures': ['32bit', '64bit'], + 'halt_on_failure': True, + 'enabled': (platform.release() == 10) + }, + { + 'name': 'set windows VisualFX', + 'cmd': [ + 'powershell', '-command', + '"&{{&Set-ItemProperty -Path \'HKCU:Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\' -Name VisualFXSetting -Value {}}}"'.format(DESKTOP_VISUALFX_THEME) + ], + 'architectures': ['32bit', '64bit'], + 'halt_on_failure': True, 'enabled': True - } + }, + { + 'name': 'hide windows taskbar', + 'cmd': [ + 'powershell', '-command', + '"&{{$p=\'{}\';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v}}"'.format(TASKBAR_AUTOHIDE_REG_PATH) + ], + 'architectures': ['32bit', '64bit'], + 'halt_on_failure': True, + 'enabled': True + }, + { + 'name': 'restart windows explorer', + 'cmd': [ + 'powershell', '-command', + '"&{&Stop-Process -ProcessName explorer}"' + ], + 'architectures': ['32bit', '64bit'], + 'halt_on_failure': True, + 'enabled': True + }, ], # this would normally be in "exes", but "exes" is clobbered by remove_executables