Bug 1446954: Remove support for running tests on automation without stylo configurations. r?Build draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Mon, 19 Mar 2018 14:17:33 +0100
changeset 769429 3ab4eea1a01389bf741835acb826542dabbca1ab
parent 769428 c894ec9a8b279e7569fb127818d3c790323a7fd8
child 769430 f007dff73bdd993e8fcf252f23f4d6e8c7eef7a4
push id103123
push userbmo:emilio@crisal.io
push dateMon, 19 Mar 2018 16:03:31 +0000
reviewersBuild
bugs1446954
milestone61.0a1
Bug 1446954: Remove support for running tests on automation without stylo configurations. r?Build You can still run them on a --disable-stylo build, as long as that works (presumably not for long). I think I haven't missed anything, but please double-check. MozReview-Commit-ID: 3BIAEjgTLo5
layout/tools/reftest/globals.jsm
layout/tools/reftest/reftest.jsm
taskcluster/ci/test/reftest.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/ci/test/test-sets.yml
taskcluster/taskgraph/test/test_try_option_syntax.py
taskcluster/taskgraph/transforms/tests.py
taskcluster/taskgraph/try_option_syntax.py
testing/awsy/awsy/process_perf_data.py
testing/awsy/mach_commands.py
testing/mochitest/runtests.py
testing/mozharness/configs/unittests/linux_unittest.py
testing/mozharness/configs/unittests/mac_unittest.py
testing/mozharness/configs/unittests/win_taskcluster_unittest.py
testing/mozharness/mozharness/mozilla/testing/talos.py
testing/mozharness/scripts/desktop_unittest.py
testing/mozharness/scripts/web_platform_tests.py
tools/tryselect/docs/selectors/fuzzy.rst
--- a/layout/tools/reftest/globals.jsm
+++ b/layout/tools/reftest/globals.jsm
@@ -65,17 +65,16 @@ for (let [key, val] of Object.entries({
     cleanupPendingCrashes: false,
     totalChunks: 0,
     thisChunk: 0,
     containingWindow: null,
     urlFilterRegex: {},
     contentGfxInfo: null,
     focusFilterMode: "all",
     compareRetainedDisplayLists: false,
-    compareStyloToGecko: false,
 
     browser: undefined,
     // Are we testing web content loaded in a separate process?
     browserIsRemote: undefined,        // bool
     // Are we using <iframe mozbrowser>?
     browserIsIframe: undefined,        // bool
     browserMessageManager: undefined,  // bool
     canvas1: undefined,
--- a/layout/tools/reftest/reftest.jsm
+++ b/layout/tools/reftest/reftest.jsm
@@ -260,21 +260,16 @@ function InitAndStartRefTests()
 
     try {
         g.focusFilterMode = prefs.getCharPref("reftest.focusFilterMode");
     } catch(e) {}
 
     try {
         g.compareRetainedDisplayLists = prefs.getBoolPref("reftest.compareRetainedDisplayLists");
     } catch (e) {}
-#ifdef MOZ_STYLO
-    try {
-        g.compareStyloToGecko = prefs.getBoolPref("reftest.compareStyloToGecko");
-    } catch(e) {}
-#endif
 
 #ifdef MOZ_ENABLE_SKIA_PDF
     try {
         // We have to disable printing via parent or else silent print operations
         // (the type that we use here) would be treated as non-silent -- in other
         // words, a print dialog would appear for each print operation, which
         // would interrupt the test run.
         // See http://searchfox.org/mozilla-central/rev/bd39b6170f04afeefc751a23bb04e18bbd10352b/layout/printing/nsPrintEngine.cpp#617
--- a/taskcluster/ci/test/reftest.yml
+++ b/taskcluster/ci/test/reftest.yml
@@ -165,15 +165,8 @@ reftest-no-accel:
             by-test-platform:
                 windows10-64.*/opt: false
                 macosx.*: false
                 default: true
     tier:
         by-test-platform:
             windows10-64-asan.*: 3
             default: default
-
-reftest-stylo:
-    description: "Reftest run in Stylo vs. Gecko mode"
-    suite: reftest/reftest-stylo
-    treeherder-symbol: R(Rs)
-    virtualization: virtual-with-gpu
-    chunks: 8
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -35,25 +35,23 @@ linux32-devedition/opt:
         - linux32-tests
         - linux32-opt-tests
 
 linux64/debug:
     build-platform: linux64/debug
     test-sets:
         - common-tests
         - web-platform-tests
-        - reftest-stylo
         - mochitest-headless
 linux64/opt:
     build-platform: linux64/opt
     test-sets:
         - common-tests
         - web-platform-tests
         - opt-only-tests
-        - reftest-stylo
         - desktop-screenshot-capture
         - talos
         - awsy
         - mochitest-headless
         - linux-talos-flex
 linux64-nightly/opt:
     build-platform: linux64-nightly/opt
     test-sets:
@@ -79,36 +77,16 @@ linux64-pgo/opt:
         - web-platform-tests
         - talos
 
 linux64-asan/opt:
     build-platform: linux64-asan/opt
     test-sets:
         - common-tests
 
-# Stylo disabled mode only runs a subset of tests.
-linux32-stylo-disabled/debug:
-    build-platform: linux/debug
-    test-sets:
-        - stylo-disabled-tests
-linux32-stylo-disabled/opt:
-    build-platform: linux/opt
-    test-sets:
-        - stylo-disabled-tests
-linux64-stylo-disabled/debug:
-    build-platform: linux64/debug
-    test-sets:
-        - stylo-disabled-tests
-        - devtools-tests
-linux64-stylo-disabled/opt:
-    build-platform: linux64/opt
-    test-sets:
-        - stylo-disabled-tests
-        - devtools-tests
-
 # Stylo sequential runs check memory and performance when using a single thread.
 linux64-stylo-sequential/opt:
     build-platform: linux64/opt
     test-sets:
         - awsy-stylo-sequential
 
 # QR builds just run a subset right now. Note that the tests in this
 # test set are further restricted in {reftests,talos,...}.yml to run on
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -78,35 +78,16 @@ awsy:
     - awsy
 
 awsy-stylo-sequential:
     - awsy-stylo-sequential
 
 ##
 # Limited test sets for specific platforms
 
-stylo-disabled-tests:
-    - cppunit
-    - crashtest
-    - reftest
-    - web-platform-tests
-    - web-platform-tests-reftests
-    - mochitest
-    - mochitest-a11y
-    - mochitest-browser-chrome
-    - browser-screenshots
-    - mochitest-chrome
-    - mochitest-clipboard
-    - mochitest-gpu
-    - mochitest-media
-    - mochitest-webgl
-
-reftest-stylo:
-    - reftest-stylo
-
 linux-qr-talos:
     - talos-chrome
     - talos-dromaeojs
     - talos-g1
     # - talos-g2 # doesn't work with QR yet
     - talos-g3
     - talos-g4
     - talos-g5
--- a/taskcluster/taskgraph/test/test_try_option_syntax.py
+++ b/taskcluster/taskgraph/test/test_try_option_syntax.py
@@ -226,23 +226,23 @@ class TestTryOptionSyntax(unittest.TestC
         "-u gtest[linux,win32] selects the linux and win32 platforms for gtest"
         parameters = {'try_options': parse_message('try: -u gtest[linux,win32]')}
         tos = TryOptionSyntax(parameters, graph_with_jobs, GRAPH_CONFIG)
         self.assertEqual(sorted(tos.unittests), sorted([
             {'test': 'gtest', 'platforms': ['linux', 'win32']},
         ]))
 
     def test_u_platforms_pretty(self):
-        """-u gtest[Ubuntu] selects the linux, linux64, linux64-asan, linux64-stylo-disabled,
+        """-u gtest[Ubuntu] selects the linux, linux64, linux64-asan
         and linux64-stylo-sequential platforms for gtest"""
         parameters = {'try_options': parse_message('try: -u gtest[Ubuntu]')}
         tos = TryOptionSyntax(parameters, graph_with_jobs, GRAPH_CONFIG)
         self.assertEqual(sorted(tos.unittests), sorted([
             {'test': 'gtest', 'platforms': ['linux32', 'linux64', 'linux64-asan',
-                                            'linux64-stylo-disabled', 'linux64-stylo-sequential']},
+                                            'linux64-stylo-sequential']},
         ]))
 
     def test_u_platforms_negated(self):
         "-u gtest[-linux] selects all platforms but linux for gtest"
         parameters = {'try_options': parse_message('try: -u gtest[-linux]')}
         tos = TryOptionSyntax(parameters, graph_with_jobs, GRAPH_CONFIG)
         all_platforms = set([x.attributes['test_platform'] for x in unittest_tasks.values()])
         self.assertEqual(sorted(tos.unittests[0]['platforms']), sorted(
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -64,21 +64,16 @@ WINDOWS_WORKER_TYPES = {
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu',
       'hardware': 'releng-hardware/gecko-t-win7-32-hw',
     },
     'windows7-32-devedition': {
       'virtual': 'aws-provisioner-v1/gecko-t-win7-32',
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu',
       'hardware': 'releng-hardware/gecko-t-win7-32-hw',
     },
-    'windows7-32-stylo-disabled': {
-      'virtual': 'aws-provisioner-v1/gecko-t-win7-32',
-      'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu',
-      'hardware': 'releng-hardware/gecko-t-win7-32-hw',
-    },
     'windows10-64': {
       'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
       'hardware': 'releng-hardware/gecko-t-win10-64-hw',
     },
     'windows10-64-ccov': {
       'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
@@ -94,21 +89,16 @@ WINDOWS_WORKER_TYPES = {
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
       'hardware': 'releng-hardware/gecko-t-win10-64-hw',
     },
     'windows10-64-nightly': {
       'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
       'hardware': 'releng-hardware/gecko-t-win10-64-hw',
     },
-    'windows10-64-stylo-disabled': {
-      'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
-      'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
-      'hardware': 'releng-hardware/gecko-t-win10-64-hw',
-    },
     'windows10-64-asan': {
       'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
       'hardware': 'releng-hardware/gecko-t-win10-64-hw',
     },
     'windows10-64-qr': {
       'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
       'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
@@ -546,28 +536,18 @@ def set_treeherder_machine_platform(conf
         # The build names for Android platforms have partially evolved over the
         # years and need to be translated.
         'android-api-16/debug': 'android-4-3-armv7-api16/debug',
         'android-api-16/opt': 'android-4-3-armv7-api16/opt',
         'android-x86/opt': 'android-4-2-x86/opt',
         'android-api-16-gradle/opt': 'android-api-16-gradle/opt',
     }
     for test in tests:
-        # For most desktop platforms, the above table is not used for "regular"
-        # builds, so we'll always pick the test platform here.
-        # On macOS though, the regular builds are in the table.  This causes a
-        # conflict in `verify_task_graph_symbol` once you add a new test
-        # platform based on regular macOS builds, such as for Stylo.
-        # Since it's unclear if the regular macOS builds can be removed from
-        # the table, workaround the issue for Stylo.
-        if '-stylo-disabled' in test['test-platform']:
-            test['treeherder-machine-platform'] = test['test-platform']
-        else:
-            test['treeherder-machine-platform'] = translation.get(
-                test['build-platform'], test['test-platform'])
+        test['treeherder-machine-platform'] = translation.get(
+            test['build-platform'], test['test-platform'])
         yield test
 
 
 @transforms.add
 def set_tier(config, tests):
     """Set the tier based on policy for all test descriptions that do not
     specify a tier otherwise."""
     for test in tests:
@@ -575,46 +555,36 @@ def set_tier(config, tests):
             resolve_keyed_by(test, 'tier', item_name=test['test-name'])
 
         # only override if not set for the test
         if 'tier' not in test or test['tier'] == 'default':
             if test['test-platform'] in ['linux32/opt',
                                          'linux32/debug',
                                          'linux32-nightly/opt',
                                          'linux32-devedition/opt',
-                                         'linux32-stylo-disabled/debug',
-                                         'linux32-stylo-disabled/opt',
                                          'linux64/opt',
                                          'linux64-nightly/opt',
                                          'linux64/debug',
                                          'linux64-pgo/opt',
                                          'linux64-devedition/opt',
                                          'linux64-asan/opt',
-                                         'linux64-stylo-disabled/debug',
-                                         'linux64-stylo-disabled/opt',
                                          'windows7-32/debug',
                                          'windows7-32/opt',
                                          'windows7-32-pgo/opt',
                                          'windows7-32-devedition/opt',
                                          'windows7-32-nightly/opt',
-                                         'windows7-32-stylo-disabled/debug',
-                                         'windows7-32-stylo-disabled/opt',
                                          'windows10-64/debug',
                                          'windows10-64/opt',
                                          'windows10-64-pgo/opt',
                                          'windows10-64-devedition/opt',
                                          'windows10-64-nightly/opt',
-                                         'windows10-64-stylo-disabled/debug',
-                                         'windows10-64-stylo-disabled/opt',
                                          'macosx64/opt',
                                          'macosx64/debug',
                                          'macosx64-nightly/opt',
                                          'macosx64-devedition/opt',
-                                         'macosx64-stylo-disabled/debug',
-                                         'macosx64-stylo-disabled/opt',
                                          'android-4.3-arm7-api-16/opt',
                                          'android-4.3-arm7-api-16/debug',
                                          'android-4.2-x86/opt']:
                 test['tier'] = 1
             else:
                 test['tier'] = 2
 
         yield test
@@ -885,31 +855,16 @@ def set_test_type(config, tests):
     for test in tests:
         for test_type in ['mochitest', 'reftest']:
             if test_type in test['suite'] and 'web-platform' not in test['suite']:
                 test.setdefault('tags', {})['test-type'] = test_type
         yield test
 
 
 @transforms.add
-def disable_stylo(config, tests):
-    """
-    Disable Stylo for all jobs on `-stylo-disabled` platforms.
-    """
-    for test in tests:
-        if '-stylo-disabled' not in test['test-platform']:
-            yield test
-            continue
-
-        test['mozharness'].setdefault('extra-options', []).append('--disable-stylo')
-
-        yield test
-
-
-@transforms.add
 def single_stylo_traversal_tests(config, tests):
     """Enable single traversal for all tests on the sequential Stylo platform."""
 
     for test in tests:
         if not test['test-platform'].startswith('linux64-stylo-sequential/'):
             yield test
             continue
 
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -93,17 +93,16 @@ UNITTEST_ALIASES = {
     'mochitest-clipboard-e10s': alias_prefix('mochitest-clipboard-e10s'),
     'mochitest-media': alias_prefix('mochitest-media'),
     'mochitest-media-e10s': alias_prefix('mochitest-media-e10s'),
     'mochitest-vg': alias_prefix('mochitest-valgrind'),
     'reftest': alias_matches(r'^(plain-)?reftest.*$'),
     'reftest-no-accel': alias_matches(r'^(plain-)?reftest-no-accel.*$'),
     'reftests': alias_matches(r'^(plain-)?reftest.*$'),
     'reftests-e10s': alias_matches(r'^(plain-)?reftest-e10s.*$'),
-    'reftest-stylo': alias_matches(r'^(plain-)?reftest-stylo.*$'),
     'reftest-gpu': alias_matches(r'^(plain-)?reftest-gpu.*$'),
     'robocop': alias_prefix('robocop'),
     'web-platform-test': alias_prefix('web-platform-tests'),
     'web-platform-tests': alias_prefix('web-platform-tests'),
     'web-platform-tests-e10s': alias_prefix('web-platform-tests-e10s'),
     'web-platform-tests-reftests': alias_prefix('web-platform-tests-reftests'),
     'web-platform-tests-reftests-e10s': alias_prefix('web-platform-tests-reftests-e10s'),
     'web-platform-tests-wdspec': alias_prefix('web-platform-tests-wdspec'),
@@ -121,23 +120,21 @@ UNITTEST_ALIASES = {
 # every time for such cases.
 #
 # Note that the test platforms here are only the prefix up to the `/`.
 UNITTEST_PLATFORM_PRETTY_NAMES = {
     'Ubuntu': [
         'linux32',
         'linux64',
         'linux64-asan',
-        'linux64-stylo-disabled',
         'linux64-stylo-sequential'
     ],
     'x64': [
         'linux64',
         'linux64-asan',
-        'linux64-stylo-disabled',
         'linux64-stylo-sequential'
     ],
     'Android 4.3': ['android-4.3-arm7-api-16'],
     '10.10': ['macosx64'],
     # other commonly-used substrings for platforms not yet supported with
     # in-tree taskgraphs:
     # '10.10.5': [..TODO..],
     # '10.6': [..TODO..],
--- a/testing/awsy/awsy/process_perf_data.py
+++ b/testing/awsy/awsy/process_perf_data.py
@@ -64,18 +64,16 @@ def create_suite(name, node, data_path):
     suite = {
         'name': name,
         'subtests': [],
         'lowerIsBetter': True,
         'units': 'bytes'
     }
     if 'STYLO_FORCE_ENABLED' in os.environ and os.environ['STYLO_FORCE_ENABLED']:
         suite['extraOptions'] = ["stylo"]
-    if 'STYLO_FORCE_DISABLED' in os.environ and os.environ['STYLO_FORCE_DISABLED']:
-        suite['extraOptions'] = ["stylo-disabled"]
     if 'STYLO_THREADS' in os.environ and os.environ['STYLO_THREADS'] == '1':
         suite['extraOptions'] = ["stylo-sequential"]
     update_checkpoint_paths(glob.glob(os.path.join(data_path, "memory-report*")))
 
     total = 0
     for checkpoint in CHECKPOINTS:
         memory_report_path = os.path.join(data_path, checkpoint['path'])
 
--- a/testing/awsy/mach_commands.py
+++ b/testing/awsy/mach_commands.py
@@ -59,33 +59,23 @@ class MachCommands(MachCommandBase):
         args.binary = binary
 
         if kwargs['quick']:
             kwargs['entities'] = 3
             kwargs['iterations'] = 1
             kwargs['perTabPause'] = 1
             kwargs['settleWaitTime'] = 1
 
-        if 'disable_stylo' in kwargs and kwargs['disable_stylo']:
-            if 'single_stylo_traversal' in kwargs and kwargs['single_stylo_traversal']:
-                print("--disable-stylo conflicts with --single-stylo-traversal")
-                return 1
-            if 'enable_stylo' in kwargs and kwargs['enable_stylo']:
-                print("--disable-stylo conflicts with --enable-stylo")
-                return 1
-
         if 'single_stylo_traversal' in kwargs and kwargs['single_stylo_traversal']:
             os.environ['STYLO_THREADS'] = '1'
         else:
             os.environ['STYLO_THREADS'] = '4'
 
         if 'enable_stylo' in kwargs and kwargs['enable_stylo']:
             os.environ['STYLO_FORCE_ENABLED'] = '1'
-        if 'disable_stylo' in kwargs and kwargs['disable_stylo']:
-            os.environ['STYLO_FORCE_DISABLED'] = '1'
 
         if 'enable_webrender' in kwargs and kwargs['enable_webrender']:
             os.environ['MOZ_WEBRENDER'] = '1'
             os.environ['MOZ_ACCELERATED'] = '1'
 
         runtime_testvars = {}
         for arg in ('webRootDir', 'pageManifest', 'resultsDir', 'entities', 'iterations',
                     'perTabPause', 'settleWaitTime', 'maxTabs', 'dmd'):
@@ -213,19 +203,16 @@ class MachCommands(MachCommandBase):
                      'Defaults to %s.' % PER_TAB_PAUSE)
     @CommandArgument('--settle-wait-time', group='AWSY', action='store', type=int,
                      dest='settleWaitTime',
                      help='Seconds to wait for things to settled down. '
                      'Defaults to %s.' % SETTLE_WAIT_TIME)
     @CommandArgument('--enable-stylo', group='AWSY', action='store_true',
                      dest='enable_stylo', default=False,
                      help='Enable Stylo.')
-    @CommandArgument('--disable-stylo', group='AWSY', action='store_true',
-                     dest='disable_stylo', default=False,
-                     help='Disable Stylo.')
     @CommandArgument('--single-stylo-traversal', group='AWSY', action='store_true',
                      dest='single_stylo_traversal', default=False,
                      help='Set STYLO_THREADS=1.')
     @CommandArgument('--enable-webrender', group='AWSY', action='store_true',
                      dest='enable_webrender', default=False,
                      help='Enable WebRender.')
     @CommandArgument('--dmd', group='AWSY', action='store_true',
                      dest='dmd', default=False,
--- a/testing/mochitest/runtests.py
+++ b/testing/mochitest/runtests.py
@@ -1422,18 +1422,16 @@ toolbar#nav-bar {
 
         tests = []
         manifest = self.getTestManifest(options)
         if manifest:
             if options.extra_mozinfo_json:
                 mozinfo.update(options.extra_mozinfo_json)
             if 'STYLO_FORCE_ENABLED' in os.environ:
                 mozinfo.update({'stylo': True})
-            if 'STYLO_FORCE_DISABLED' in os.environ:
-                mozinfo.update({'stylo': False})
 
             info = mozinfo.info
 
             # Bug 1089034 - imptest failure expectations are encoded as
             # test manifests, even though they aren't tests. This gross
             # hack causes several problems in automation including
             # throwing off the chunking numbers. Remove them manually
             # until bug 1089034 is fixed.
--- a/testing/mozharness/configs/unittests/linux_unittest.py
+++ b/testing/mozharness/configs/unittests/linux_unittest.py
@@ -210,21 +210,16 @@ config = {
                         "--setpref=layers.acceleration.force-enabled=true"],
             "tests": ["tests/reftest/tests/layout/reftests/reftest.list"]
         },
         "reftest-no-accel": {
             "options": ["--suite=reftest",
                         "--setpref=layers.acceleration.disabled=true"],
             "tests": ["tests/reftest/tests/layout/reftests/reftest.list"]
         },
-        "reftest-stylo": {
-            "options": ["--suite=reftest",
-                        "--setpref=reftest.compareStyloToGecko=true"],
-            "tests": ["tests/reftest/tests/layout/reftests/reftest.list"],
-        },
     },
     "all_xpcshell_suites": {
         "xpcshell": {
             "options": ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME,
                         "--manifest=tests/xpcshell/tests/xpcshell.ini"],
             "tests": []
         },
         "xpcshell-addons": {
--- a/testing/mozharness/configs/unittests/mac_unittest.py
+++ b/testing/mozharness/configs/unittests/mac_unittest.py
@@ -166,21 +166,16 @@ config = {
             'options':["--extra-profile-file=tests/jsreftest/tests/user.js",
                        "--suite=jstestbrowser"],
             'tests': ["tests/jsreftest/tests/jstests.list"]
         },
         "reftest": {
             'options': ["--suite=reftest"],
             'tests': ["tests/reftest/tests/layout/reftests/reftest.list"]
         },
-        "reftest-stylo": {
-            "options": ["--suite=reftest",
-                        "--setpref=reftest.compareStyloToGecko=true"],
-            "tests": ["tests/reftest/tests/layout/reftests/reftest.list"],
-        },
     },
     "all_xpcshell_suites": {
         "xpcshell": {
             'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME,
                         "--manifest=tests/xpcshell/tests/xpcshell.ini"],
             'tests': []
         },
         "xpcshell-addons": {
--- a/testing/mozharness/configs/unittests/win_taskcluster_unittest.py
+++ b/testing/mozharness/configs/unittests/win_taskcluster_unittest.py
@@ -199,21 +199,16 @@ config = {
                         "--setpref=layers.gpu-process.force-enabled=true"],
             'tests': ["tests/reftest/tests/layout/reftests/reftest.list"]
         },
         "reftest-no-accel": {
             "options": ["--suite=reftest",
                         "--setpref=layers.acceleration.disabled=true"],
             "tests": ["tests/reftest/tests/layout/reftests/reftest.list"]
         },
-        "reftest-stylo": {
-            "options": ["--suite=reftest",
-                        "--setpref=reftest.compareStyloToGecko=true"],
-            "tests": ["tests/reftest/tests/layout/reftests/reftest.list"],
-        },
     },
     "all_xpcshell_suites": {
         "xpcshell": {
             'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME,
                         "--manifest=tests/xpcshell/tests/xpcshell.ini"],
             'tests': []
         },
         "xpcshell-addons": {
--- a/testing/mozharness/mozharness/mozilla/testing/talos.py
+++ b/testing/mozharness/mozharness/mozilla/testing/talos.py
@@ -687,20 +687,16 @@ class Talos(TestingMixin, MercurialScrip
         env['STYLO_FORCE_ENABLED'] = '1'
 
         # Remove once Talos is migrated away from buildbot
         if self.buildbot_config:
             platform = self.buildbot_config.get('properties', {}).get('platform', '')
             if 'qr' in platform:
                 env['MOZ_WEBRENDER'] = '1'
                 env['MOZ_ACCELERATED'] = '1'
-            if 'stylo' in platform and 'stylo_disabled' not in platform:
-                env['STYLO_FORCE_ENABLED'] = '1'
-            if 'stylo_disabled' in platform:
-                env['STYLO_FORCE_DISABLED'] = '1'
             if 'styloseq' in platform:
                 env['STYLO_THREADS'] = '1'
 
         # sets a timeout for how long talos should run without output
         output_timeout = self.config.get('talos_output_timeout', 3600)
         # run talos tests
         run_tests = os.path.join(self.talos_path, 'talos', 'run_tests.py')
 
--- a/testing/mozharness/scripts/desktop_unittest.py
+++ b/testing/mozharness/scripts/desktop_unittest.py
@@ -164,22 +164,16 @@ class DesktopUnittest(TestingMixin, Merc
             "help": "Forcibly enable single thread traversal in Stylo with STYLO_THREADS=1"}
          ],
         [["--enable-stylo"], {
             "action": "store_true",
             "dest": "enable_stylo",
             "default": False,
             "help": "Run tests with Stylo enabled"}
          ],
-        [["--disable-stylo"], {
-            "action": "store_true",
-            "dest": "disable_stylo",
-            "default": False,
-            "help": "Run tests with Stylo disabled"}
-         ],
         [["--enable-webrender"], {
             "action": "store_true",
             "dest": "enable_webrender",
             "default": False,
             "help": "Tries to enable the WebRender compositor."}
          ],
     ] + copy.deepcopy(testing_config_options) + \
         copy.deepcopy(blobupload_config_options) + \
@@ -238,18 +232,16 @@ class DesktopUnittest(TestingMixin, Merc
         if 'this_chunk' in c:
             perfherder_parts.append(c['this_chunk'])
 
         if c['e10s']:
             perfherder_options.append('e10s')
 
         if c['enable_stylo']:
             perfherder_options.append('stylo')
-        if c['disable_stylo']:
-            perfherder_options.append('stylo_disabled')
 
         self.resource_monitor_perfherder_id = ('.'.join(perfherder_parts),
                                                perfherder_options)
 
     # helper methods {{{2
     def _pre_config_lock(self, rw_config):
         super(DesktopUnittest, self)._pre_config_lock(rw_config)
         c = self.config
@@ -853,31 +845,23 @@ class DesktopUnittest(TestingMixin, Merc
                     self.mkdir_p(env['MOZ_UPLOAD_DIR'])
 
                 if self.config['allow_software_gl_layers']:
                     env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1'
                 if self.config['enable_webrender']:
                     env['MOZ_WEBRENDER'] = '1'
                     env['MOZ_ACCELERATED'] = '1'
 
-                if self.config['disable_stylo']:
-                    if self.config['single_stylo_traversal']:
-                        self.fatal("--disable-stylo conflicts with --single-stylo-traversal")
-                    if self.config['enable_stylo']:
-                        self.fatal("--disable-stylo conflicts with --enable-stylo")
-
                 if self.config['single_stylo_traversal']:
                     env['STYLO_THREADS'] = '1'
                 else:
                     env['STYLO_THREADS'] = '4'
 
                 if self.config['enable_stylo']:
                     env['STYLO_FORCE_ENABLED'] = '1'
-                if self.config['disable_stylo']:
-                    env['STYLO_FORCE_DISABLED'] = '1'
 
                 env = self.query_env(partial_env=env, log_level=INFO)
                 cmd_timeout = self.get_timeout_for_category(suite_category)
 
                 for verify_args in self.query_verify_args(suite):
                     if (datetime.now() - self.start_time) > max_verify_time:
                         # Verification has run out of time. That is okay! Stop running
                         # tests so that a task timeout is not triggered, and so that
--- a/testing/mozharness/scripts/web_platform_tests.py
+++ b/testing/mozharness/scripts/web_platform_tests.py
@@ -330,18 +330,16 @@ class WebPlatformTest(TestingMixin, Merc
 
         if self.config['single_stylo_traversal']:
             env['STYLO_THREADS'] = '1'
         else:
             env['STYLO_THREADS'] = '4'
 
         if self.config['enable_stylo']:
             env['STYLO_FORCE_ENABLED'] = '1'
-        if self.config['disable_stylo']:
-            env['STYLO_FORCE_DISABLED'] = '1'
 
         env = self.query_env(partial_env=env, log_level=INFO)
 
         start_time = datetime.now()
         max_verify_time = timedelta(minutes=60)
         max_verify_tests = 10
         verified_tests = 0
 
--- a/tools/tryselect/docs/selectors/fuzzy.rst
+++ b/tools/tryselect/docs/selectors/fuzzy.rst
@@ -101,24 +101,20 @@ Would produce the following ``try_task_c
       "templates":{
         "env":{
           "MOZHARNESS_TEST_PATHS":"layout/reftests/reftest-sanity"
         }
       },
       "tasks":[
         "test-linux64-qr/debug-reftest-e10s-1",
         "test-linux64-qr/opt-reftest-e10s-1",
-        "test-linux64-stylo-disabled/debug-reftest-e10s-1",
-        "test-linux64-stylo-disabled/opt-reftest-e10s-1",
         "test-linux64/debug-reftest-e10s-1",
         "test-linux64/debug-reftest-no-accel-e10s-1",
-        "test-linux64/debug-reftest-stylo-e10s-1",
         "test-linux64/opt-reftest-e10s-1",
         "test-linux64/opt-reftest-no-accel-e10s-1",
-        "test-linux64/opt-reftest-stylo-e10s-1"
       ]
     }
 
 Inside of these tasks, the reftest harness will only run tests that live under
 ``layout/reftests/reftest-sanity``.
 
 Additional Arguments
 --------------------