Bug 1243096 - Remove ini manifests containing only support-files and move their contents to TEST_HARNESS_FILES. r=gps
authorChris Manchester <cmanchester@mozilla.com>
Wed, 27 Jan 2016 17:46:34 -0800
changeset 282051 ab448c9b816527257ad697a03d3cec0ebee06413
parent 282050 cc9bef95c7e139056d59851caaa0ca748f416766
child 282052 d81da0ef528d262e373ce4516337ff2565b66699
push id29950
push usercbook@mozilla.com
push dateThu, 28 Jan 2016 11:14:03 +0000
treeherdermozilla-central@2b73b0a4d52b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1243096
milestone47.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1243096 - Remove ini manifests containing only support-files and move their contents to TEST_HARNESS_FILES. r=gps
devtools/client/framework/moz.build
devtools/client/framework/test/xpcshell.ini
devtools/client/promisedebugger/moz.build
devtools/client/promisedebugger/test/browser.ini
devtools/shared/apps/moz.build
devtools/shared/apps/tests/data/mochitest.ini
docshell/moz.build
docshell/test/chrome/mochitest.ini
dom/base/test/chrome/mochitest.ini
dom/base/test/moz.build
dom/imptests/mochitest.ini
dom/imptests/moz.build
dom/media/webaudio/moz.build
dom/media/webaudio/test/blink/mochitest.ini
dom/tests/mochitest/ajax/lib/mochitest.ini
dom/tests/mochitest/ajax/mochikit/tests/mochitest.ini
dom/tests/moz.build
js/xpconnect/tests/chrome/mochitest.ini
js/xpconnect/tests/chrome/moz.build
js/xpconnect/tests/moz.build
js/xpconnect/tests/xpcshell.ini
layout/reftests/fonts/math/mochitest.ini
layout/reftests/fonts/mochitest.ini
layout/reftests/fonts/mplus/mochitest.ini
layout/reftests/moz.build
layout/style/test/chrome/mochitest.ini
layout/style/test/css-visited/mochitest.ini
layout/style/test/moz.build
python/mozbuild/mozbuild/frontend/emitter.py
python/mozbuild/mozbuild/test/frontend/data/test-manifest-absolute-support/absolute-support.ini
python/mozbuild/mozbuild/test/frontend/data/test-manifest-absolute-support/test_file.js
python/mozbuild/mozbuild/test/frontend/test_emitter.py
testing/mochitest/MochiKit/mochitest.ini
testing/mochitest/dynamic/mochitest.ini
testing/mochitest/moz.build
testing/mochitest/static/mochitest.ini
testing/mochitest/tests/MochiKit-1.4.2/MochiKit/mochitest.ini
toolkit/components/jsdownloads/moz.build
toolkit/components/jsdownloads/test/data/xpcshell.ini
toolkit/components/places/tests/browser/mochitest.ini
toolkit/components/places/tests/chrome/mochitest.ini
toolkit/components/places/tests/mochitest.ini
toolkit/components/places/tests/mochitest/bug_411966/mochitest.ini
toolkit/components/places/tests/mochitest/bug_461710/mochitest.ini
toolkit/components/places/tests/moz.build
toolkit/components/places/tests/xpcshell.ini
--- a/devtools/client/framework/moz.build
+++ b/devtools/client/framework/moz.build
@@ -1,16 +1,18 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # 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/.
 
 BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
-XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell.ini']
+TEST_HARNESS_FILES.xpcshell.devtools.client.framework.test += [
+    'test/shared-redux-head.js',
+]
 
 DevToolsModules(
     'attach-thread.js',
     'gDevTools.jsm',
     'selection.js',
     'sidebar.js',
     'target.js',
     'toolbox-highlighter-utils.js',
deleted file mode 100644
--- a/devtools/client/framework/test/xpcshell.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[DEFAULT]
-tags = devtools
-head =
-tail =
-firefox-appdir = browser
-support-files =
-  shared-redux-head.js
--- a/devtools/client/promisedebugger/moz.build
+++ b/devtools/client/promisedebugger/moz.build
@@ -1,10 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # 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/.
 
-BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
-
 DevToolsModules(
 )
deleted file mode 100644
--- a/devtools/client/promisedebugger/test/browser.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[DEFAULT]
-tags = devtools
-subsuite = devtools
-support-files =
-  head.js
--- a/devtools/shared/apps/moz.build
+++ b/devtools/shared/apps/moz.build
@@ -1,17 +1,25 @@
 # 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/.
 
 MOCHITEST_MANIFESTS += [
-    'tests/data/mochitest.ini',
     'tests/mochitest.ini',
 ]
 
+TEST_HARNESS_FILES.testing.mochitest.tests.devtools.shared.apps.tests.data += [
+    'tests/data/app-certified.zip',
+    'tests/data/app-overload.zip',
+    'tests/data/app-redirect.zip',
+    'tests/data/app-system.zip',
+    'tests/data/app-updated.zip',
+    'tests/data/app.zip',
+]
+
 XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
 
 DevToolsModules(
     'app-actor-front.js',
     'Devices.jsm',
     'Simulator.jsm'
 )
deleted file mode 100644
--- a/devtools/shared/apps/tests/data/mochitest.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[DEFAULT]
-support-files =
-  app-redirect.zip
-  app-updated.zip
-  app.zip
-  app-certified.zip
-  app-overload.zip
-  app-system.zip
--- a/docshell/moz.build
+++ b/docshell/moz.build
@@ -12,22 +12,39 @@ DIRS += [
 ]
 
 XPCSHELL_TESTS_MANIFESTS += [
     'test/unit/xpcshell.ini',
     'test/unit_ipc/xpcshell.ini',
 ]
 
 MOCHITEST_MANIFESTS += [
-    'test/chrome/mochitest.ini',
     'test/iframesandbox/mochitest.ini',
     'test/mochitest.ini',
     'test/navigation/mochitest.ini',
 ]
 
 MOCHITEST_CHROME_MANIFESTS += [
     'test/chrome/chrome.ini',
 ]
 
 BROWSER_CHROME_MANIFESTS += [
     'test/browser/browser.ini',
     'test/navigation/browser.ini',
 ]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.docshell.test.chrome += [
+    'test/chrome/112564_nocache.html',
+    'test/chrome/112564_nocache.html^headers^',
+    'test/chrome/215405_nocache.html',
+    'test/chrome/215405_nocache.html^headers^',
+    'test/chrome/215405_nostore.html',
+    'test/chrome/215405_nostore.html^headers^',
+    'test/chrome/582176_dummy.html',
+    'test/chrome/582176_xml.xml',
+    'test/chrome/582176_xslt.xsl',
+    'test/chrome/92598_nostore.html',
+    'test/chrome/92598_nostore.html^headers^',
+    'test/chrome/allowContentRetargeting.sjs',
+    'test/chrome/blue.png',
+    'test/chrome/bug89419.sjs',
+    'test/chrome/red.png',
+]
deleted file mode 100644
--- a/docshell/test/chrome/mochitest.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-[DEFAULT]
-support-files =
-  bug89419.sjs
-  blue.png
-  red.png
-  92598_nostore.html
-  92598_nostore.html^headers^
-  112564_nocache.html
-  112564_nocache.html^headers^
-  215405_nostore.html
-  215405_nostore.html^headers^
-  215405_nocache.html
-  215405_nocache.html^headers^
-  582176_dummy.html
-  582176_xml.xml
-  582176_xslt.xsl
-  allowContentRetargeting.sjs
deleted file mode 100644
--- a/dom/base/test/chrome/mochitest.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[DEFAULT]
-support-files =
-  bug421622-referer.sjs
-  nochrome_bug765993.html
-  nochrome_bug765993.js
-  nochrome_bug765993.js^headers^
--- a/dom/base/test/moz.build
+++ b/dom/base/test/moz.build
@@ -11,17 +11,16 @@ XPCSHELL_TESTS_MANIFESTS += [
 
 GeckoCppUnitTests([
     'TestGetURL',
     'TestNativeXMLHttpRequest',
     'TestPlainTextSerializer',
 ])
 
 MOCHITEST_MANIFESTS += [
-    'chrome/mochitest.ini',
     'mochitest.ini',
     'websocket_hybi/mochitest.ini',
 ]
 # OOP tests don't work on Windows (bug 763081) or native-fennec
 # (see Bug 774939). App permission checks are also disabled on
 # anything but B2G (Bug 900707).
 if CONFIG['MOZ_CHILD_PERMISSIONS']:
     MOCHITEST_MANIFESTS += [
@@ -35,8 +34,15 @@ MOCHITEST_CHROME_MANIFESTS += [
 
 BROWSER_CHROME_MANIFESTS += [
     'browser.ini',
 ]
 
 TEST_DIRS += [
     'gtest',
 ]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.dom.base.test.chrome += [
+    'chrome/bug421622-referer.sjs',
+    'chrome/nochrome_bug765993.html',
+    'chrome/nochrome_bug765993.js',
+    'chrome/nochrome_bug765993.js^headers^',
+]
deleted file mode 100644
--- a/dom/imptests/mochitest.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[DEFAULT]
-support-files =
-  /resources/testharness.js
-  /resources/testharnessreport.js
-  /resources/testharness.css
-  /resources/idlharness.js
-  /resources/WebIDLParser.js
--- a/dom/imptests/moz.build
+++ b/dom/imptests/moz.build
@@ -2,17 +2,16 @@
 # 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/.
 
 MOCHITEST_MANIFESTS += [
     'editing/mochitest.ini',
     'html/mochitest.ini',
-    'mochitest.ini',
     'webapps/mochitest.ini',
 ]
 
 MOCHITEST_MANIFESTS += [
     'failures/editing/conformancetest/mochitest.ini',
     'failures/editing/selecttest/mochitest.ini',
     'failures/html/dom/errors/mochitest.ini',
     'failures/html/dom/lists/mochitest.ini',
@@ -28,8 +27,16 @@ MOCHITEST_MANIFESTS += [
     'failures/html/html/semantics/scripting-1/the-script-element/mochitest.ini',
     'failures/html/html/semantics/tabular-data/the-table-element/mochitest.ini',
     'failures/html/html/webappapis/atob/mochitest.ini',
     'failures/html/js/builtins/mochitest.ini',
     'failures/html/microdata/microdata-dom-api/mochitest.ini',
     'failures/html/typedarrays/mochitest.ini',
     'failures/webapps/WebStorage/tests/submissions/Infraware/mochitest.ini',
 ]
+
+TEST_HARNESS_FILES.testing.mochitest.resources += [
+    'idlharness.js',
+    'testharness.css',
+    'testharness.js',
+    'testharnessreport.js',
+    'WebIDLParser.js',
+]
--- a/dom/media/webaudio/moz.build
+++ b/dom/media/webaudio/moz.build
@@ -7,22 +7,27 @@
 with Files('*'):
     BUG_COMPONENT = ('Core', 'Web Audio')
 
 DIRS += ['blink']
 
 TEST_DIRS += ['compiledtest']
 
 MOCHITEST_MANIFESTS += [
-    'test/blink/mochitest.ini',
     'test/mochitest.ini',
 ]
 
 MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
 
+TEST_HARNESS_FILES.testing.mochitest.tests.dom.media.webaudio.test.blink += [
+    'test/blink/audio-testing.js',
+    'test/blink/convolution-testing.js',
+    'test/blink/panner-model-testing.js',
+]
+
 EXPORTS += [
     'AlignedTArray.h',
     'AudioBlock.h',
     'AudioEventTimeline.h',
     'AudioNodeEngine.h',
     'AudioNodeExternalInputStream.h',
     'AudioNodeStream.h',
     'AudioParamTimeline.h',
deleted file mode 100644
--- a/dom/media/webaudio/test/blink/mochitest.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[DEFAULT]
-tags=msg
-support-files =
-  audio-testing.js
-  convolution-testing.js
-  panner-model-testing.js
deleted file mode 100644
--- a/dom/tests/mochitest/ajax/lib/mochitest.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[DEFAULT]
-support-files =
-  AJAX_setup.js
-  test.css
deleted file mode 100644
--- a/dom/tests/mochitest/ajax/mochikit/tests/mochitest.ini
+++ /dev/null
@@ -1,33 +0,0 @@
-[DEFAULT]
-support-files =
-  FakeJSAN.js
-  MochiKit-Async.html
-  MochiKit-Base.html
-  MochiKit-Color.html
-  MochiKit-DOM.html
-  MochiKit-DateTime.html
-  MochiKit-DragAndDrop.html
-  MochiKit-Format.html
-  MochiKit-Iter.html
-  MochiKit-JSAN.html
-  MochiKit-Logging.html
-  MochiKit-MochiKit.html
-  MochiKit-Selector.html
-  MochiKit-Signal.html
-  MochiKit-Style.html
-  MochiKit-Visual.html
-  cli.js
-  index.html
-  standalone.js
-  SimpleTest/SimpleTest.js
-  SimpleTest/TestRunner.js
-  SimpleTest/test.css
-  test_Base.js
-  test_Color.js
-  test_DateTime.js
-  test_DragAndDrop.js
-  test_Format.js
-  test_Iter.js
-  test_Logging.js
-  test_MochiKit-Async.json
-  test_Signal.js
--- a/dom/tests/moz.build
+++ b/dom/tests/moz.build
@@ -1,19 +1,17 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # 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/.
 
 MOCHITEST_MANIFESTS += [
     'mochitest/ajax/jquery/mochitest.ini',
-    'mochitest/ajax/lib/mochitest.ini',
     'mochitest/ajax/mochikit/mochitest.ini',
-    'mochitest/ajax/mochikit/tests/mochitest.ini',
     'mochitest/ajax/offline/mochitest.ini',
     'mochitest/ajax/prototype/mochitest.ini',
     'mochitest/ajax/scriptaculous/mochitest.ini',
     'mochitest/beacon/mochitest.ini',
     'mochitest/bugs/mochitest.ini',
     'mochitest/crypto/mochitest.ini',
     'mochitest/dom-level0/mochitest.ini',
     'mochitest/dom-level1-core/mochitest.ini',
@@ -45,8 +43,51 @@ MOCHITEST_CHROME_MANIFESTS += [
 
 if CONFIG['MOZ_GAMEPAD']:
     MOCHITEST_MANIFESTS += [
         'mochitest/gamepad/mochitest.ini',
     ]
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
 BROWSER_CHROME_MANIFESTS += ['browser/browser.ini']
+
+TEST_HARNESS_FILES.testing.mochitest.tests.dom.tests.mochitest.ajax.lib += [
+    'mochitest/ajax/lib/AJAX_setup.js',
+    'mochitest/ajax/lib/test.css',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.dom.tests.mochitest.ajax.mochikit.tests += [
+    'mochitest/ajax/mochikit/tests/cli.js',
+    'mochitest/ajax/mochikit/tests/FakeJSAN.js',
+    'mochitest/ajax/mochikit/tests/index.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Async.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Base.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Color.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-DateTime.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-DOM.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-DragAndDrop.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Format.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Iter.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-JSAN.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Logging.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-MochiKit.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Selector.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Signal.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Style.html',
+    'mochitest/ajax/mochikit/tests/MochiKit-Visual.html',
+    'mochitest/ajax/mochikit/tests/standalone.js',
+    'mochitest/ajax/mochikit/tests/test_Base.js',
+    'mochitest/ajax/mochikit/tests/test_Color.js',
+    'mochitest/ajax/mochikit/tests/test_DateTime.js',
+    'mochitest/ajax/mochikit/tests/test_DragAndDrop.js',
+    'mochitest/ajax/mochikit/tests/test_Format.js',
+    'mochitest/ajax/mochikit/tests/test_Iter.js',
+    'mochitest/ajax/mochikit/tests/test_Logging.js',
+    'mochitest/ajax/mochikit/tests/test_MochiKit-Async.json',
+    'mochitest/ajax/mochikit/tests/test_Signal.js',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.dom.tests.mochitest.ajax.mochikit.tests.SimpleTest += [
+    'mochitest/ajax/mochikit/tests/SimpleTest/SimpleTest.js',
+    'mochitest/ajax/mochikit/tests/SimpleTest/test.css',
+    'mochitest/ajax/mochikit/tests/SimpleTest/TestRunner.js',
+]
+
deleted file mode 100644
--- a/js/xpconnect/tests/chrome/mochitest.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[DEFAULT]
-support-files =
-  file_discardSystemSource.html
-  worker_discardSystemSource.js
--- a/js/xpconnect/tests/chrome/moz.build
+++ b/js/xpconnect/tests/chrome/moz.build
@@ -1,9 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # 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/.
 
 MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
-MOCHITEST_MANIFESTS += ['mochitest.ini']
 
+TEST_HARNESS_FILES.testing.mochitest.tests.js.xpconnect.tests.chrome += [
+    'file_discardSystemSource.html',
+    'worker_discardSystemSource.js',
+]
--- a/js/xpconnect/tests/moz.build
+++ b/js/xpconnect/tests/moz.build
@@ -9,10 +9,18 @@ TEST_DIRS += [
     'mochitest',
     'chrome',
     'browser',
     'components/native',
 ]
 
 XPCSHELL_TESTS_MANIFESTS += [
     'unit/xpcshell.ini',
-    'xpcshell.ini',
 ]
+
+TEST_HARNESS_FILES.xpcshell.js.xpconnect.tests.components.js += [
+    'components/js/xpctest.manifest',
+    'components/js/xpctest_attributes.js',
+    'components/js/xpctest_bug809674.js',
+    'components/js/xpctest_interfaces.js',
+    'components/js/xpctest_params.js',
+    'components/js/xpctest_returncode_child.js',
+]
deleted file mode 100644
--- a/js/xpconnect/tests/xpcshell.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[DEFAULT]
-support-files =
-  components/js/xpctest_attributes.js
-  components/js/xpctest_bug809674.js
-  components/js/xpctest_interfaces.js
-  components/js/xpctest_params.js
-  components/js/xpctest_returncode_child.js
-  components/js/xpctest.manifest
deleted file mode 100644
--- a/layout/reftests/fonts/math/mochitest.ini
+++ /dev/null
@@ -1,40 +0,0 @@
-[DEFAULT]
-support-files =
-  /tests/fonts/math/axis-height-1.otf
-  /tests/fonts/math/axis-height-2.otf
-  /tests/fonts/math/fraction-1.otf
-  /tests/fonts/math/fraction-2.otf
-  /tests/fonts/math/fraction-3.otf
-  /tests/fonts/math/fraction-4.otf
-  /tests/fonts/math/fraction-5.otf
-  /tests/fonts/math/fraction-6.otf
-  /tests/fonts/math/fraction-7.otf
-  /tests/fonts/math/fraction-8.otf
-  /tests/fonts/math/fraction-9.otf
-  /tests/fonts/math/limits-1.otf
-  /tests/fonts/math/limits-2.otf
-  /tests/fonts/math/limits-3.otf
-  /tests/fonts/math/limits-4.otf
-  /tests/fonts/math/limits-5.otf
-  /tests/fonts/math/radical-1.otf
-  /tests/fonts/math/radical-2.otf
-  /tests/fonts/math/radical-3.otf
-  /tests/fonts/math/radical-4.otf
-  /tests/fonts/math/radical-5.otf
-  /tests/fonts/math/radical-6.otf
-  /tests/fonts/math/radical-7.otf
-  /tests/fonts/math/scripts-1.otf
-  /tests/fonts/math/scripts-2.otf
-  /tests/fonts/math/scripts-3.otf
-  /tests/fonts/math/scripts-4.otf
-  /tests/fonts/math/scripts-5.otf
-  /tests/fonts/math/scripts-6.otf
-  /tests/fonts/math/scripts-7.otf
-  /tests/fonts/math/scripts-8.otf
-  /tests/fonts/math/scripts-9.otf
-  /tests/fonts/math/stack-1.otf
-  /tests/fonts/math/stack-2.otf
-  /tests/fonts/math/stack-3.otf
-  /tests/fonts/math/stack-4.otf
-  /tests/fonts/math/stack-5.otf
-  /tests/fonts/math/stack-6.otf
deleted file mode 100644
--- a/layout/reftests/fonts/mochitest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DEFAULT]
-support-files =
-  /tests/fonts/Ahem.ttf
deleted file mode 100644
--- a/layout/reftests/fonts/mplus/mochitest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DEFAULT]
-support-files =
-  /tests/fonts/mplus/mplus-1p-regular.ttf
--- a/layout/reftests/moz.build
+++ b/layout/reftests/moz.build
@@ -1,18 +1,61 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # 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/.
 
-MOCHITEST_MANIFESTS += [
-    'fonts/math/mochitest.ini',
-    'fonts/mochitest.ini',
-    'fonts/mplus/mochitest.ini'
+TEST_HARNESS_FILES.testing.mochitest.tests.fonts.math += [
+    'fonts/math/axis-height-1.otf',
+    'fonts/math/axis-height-2.otf',
+    'fonts/math/fraction-1.otf',
+    'fonts/math/fraction-2.otf',
+    'fonts/math/fraction-3.otf',
+    'fonts/math/fraction-4.otf',
+    'fonts/math/fraction-5.otf',
+    'fonts/math/fraction-6.otf',
+    'fonts/math/fraction-7.otf',
+    'fonts/math/fraction-8.otf',
+    'fonts/math/fraction-9.otf',
+    'fonts/math/limits-1.otf',
+    'fonts/math/limits-2.otf',
+    'fonts/math/limits-3.otf',
+    'fonts/math/limits-4.otf',
+    'fonts/math/limits-5.otf',
+    'fonts/math/radical-1.otf',
+    'fonts/math/radical-2.otf',
+    'fonts/math/radical-3.otf',
+    'fonts/math/radical-4.otf',
+    'fonts/math/radical-5.otf',
+    'fonts/math/radical-6.otf',
+    'fonts/math/radical-7.otf',
+    'fonts/math/scripts-1.otf',
+    'fonts/math/scripts-2.otf',
+    'fonts/math/scripts-3.otf',
+    'fonts/math/scripts-4.otf',
+    'fonts/math/scripts-5.otf',
+    'fonts/math/scripts-6.otf',
+    'fonts/math/scripts-7.otf',
+    'fonts/math/scripts-8.otf',
+    'fonts/math/scripts-9.otf',
+    'fonts/math/stack-1.otf',
+    'fonts/math/stack-2.otf',
+    'fonts/math/stack-3.otf',
+    'fonts/math/stack-4.otf',
+    'fonts/math/stack-5.otf',
+    'fonts/math/stack-6.otf',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.fonts.mplus += [
+    'fonts/mplus/mplus-1p-regular.ttf',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.fonts += [
+    'fonts/Ahem.ttf',
 ]
 
 REFTEST_MANIFESTS += ['reftest.list']
 
 with Files('abs-pos/**'):
     BUG_COMPONENT = ('Core', 'Layout: R & A Pos')
 with Files('async-scrolling/**'):
     BUG_COMPONENT = ('Core', 'Layout')
deleted file mode 100644
--- a/layout/style/test/chrome/mochitest.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[DEFAULT]
-support-files =
-  moz_document_helper.html
-  additional_sheets_helper.html
deleted file mode 100644
--- a/layout/style/test/css-visited/mochitest.ini
+++ /dev/null
@@ -1,75 +0,0 @@
-[DEFAULT]
-support-files =
-  ../../../../layout/reftests/css-visited/color-on-text-decoration-1-ref.html
-  ../../../../layout/reftests/css-visited/selector-descendant-2-ref.xhtml
-  ../../../../layout/reftests/css-visited/selector-child-1-ref.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-descendant-1.html
-  ../../../../layout/reftests/css-visited/inherit-keyword-1-ref.html
-  ../../../../layout/reftests/css-visited/visited-page.html
-  ../../../../layout/reftests/css-visited/border-2b.html
-  ../../../../layout/reftests/css-visited/color-on-link-before-1.html
-  ../../../../layout/reftests/css-visited/border-2a.html
-  ../../../../layout/reftests/css-visited/color-on-visited-1.html
-  ../../../../layout/reftests/css-visited/selector-adj-sibling-1.html
-  ../../../../layout/reftests/css-visited/selector-any-sibling-1.html
-  ../../../../layout/reftests/css-visited/column-rule-1.html
-  ../../../../layout/reftests/css-visited/selector-child-1.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-any-sibling-1.html
-  ../../../../layout/reftests/css-visited/content-before-1-ref.html
-  ../../../../layout/reftests/css-visited/color-on-link-1-ref.html
-  ../../../../layout/reftests/css-visited/color-choice-1-ref.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-descendant-2.xhtml
-  ../../../../layout/reftests/css-visited/width-on-visited-1.html
-  ../../../../layout/reftests/css-visited/selector-child-2-ref.xhtml
-  ../../../../layout/reftests/css-visited/border-1.html
-  ../../../../layout/reftests/css-visited/link-root-1.xhtml
-  ../../../../layout/reftests/css-visited/link-root-1-ref.xhtml
-  ../../../../layout/reftests/css-visited/color-on-visited-1-ref.html
-  ../../../../layout/reftests/css-visited/selector-any-sibling-1-ref.html
-  ../../../../layout/reftests/css-visited/border-1-ref.html
-  ../../../../layout/reftests/css-visited/column-rule-1-ref.html
-  ../../../../layout/reftests/css-visited/content-on-link-before-1.html
-  ../../../../layout/reftests/css-visited/color-on-link-1.html
-  ../../../../layout/reftests/css-visited/selector-descendant-2.xhtml
-  ../../../../layout/reftests/css-visited/content-color-on-visited-before-1.html
-  ../../../../layout/reftests/css-visited/inherit-keyword-1.xhtml
-  ../../../../layout/reftests/css-visited/selector-descendant-1-ref.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-descendant-2-ref.xhtml
-  ../../../../layout/reftests/css-visited/selector-adj-sibling-2-ref.html
-  ../../../../layout/reftests/css-visited/border-2-ref.html
-  ../../../../layout/reftests/css-visited/mathml-links.html
-  ../../../../layout/reftests/css-visited/selector-child-2.xhtml
-  ../../../../layout/reftests/css-visited/column-rule-1-notref.html
-  ../../../../layout/reftests/css-visited/white-to-transparent-1-ref.html
-  ../../../../layout/reftests/css-visited/first-line-1.html
-  ../../../../layout/reftests/css-visited/selector-any-sibling-2-ref.html
-  ../../../../layout/reftests/css-visited/content-color-on-visited-before-1-ref.html
-  ../../../../layout/reftests/css-visited/color-on-bullets-1.html
-  ../../../../layout/reftests/css-visited/outline-1-ref.html
-  ../../../../layout/reftests/css-visited/content-on-visited-before-1.html
-  ../../../../layout/reftests/css-visited/color-choice-1.html
-  ../../../../layout/reftests/css-visited/selector-adj-sibling-2.html
-  ../../../../layout/reftests/css-visited/selector-descendant-1.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-1-ref.html
-  ../../../../layout/reftests/css-visited/white-to-transparent-1.html
-  ../../../../layout/reftests/css-visited/width-on-link-1.html
-  ../../../../layout/reftests/css-visited/mathml-links-ref.html
-  ../../../../layout/reftests/css-visited/outline-1.html
-  ../../../../layout/reftests/css-visited/color-on-bullets-1-ref.html
-  ../../../../layout/reftests/css-visited/selector-adj-sibling-1-ref.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-adj-sibling-1.html
-  ../../../../layout/reftests/css-visited/border-collapse-1-ref.html
-  ../../../../layout/reftests/css-visited/first-line-1-ref.html
-  ../../../../layout/reftests/css-visited/border-collapse-1.html
-  ../../../../layout/reftests/css-visited/selector-any-sibling-2.html
-  ../../../../layout/reftests/css-visited/width-1-ref.html
-  ../../../../layout/reftests/css-visited/color-on-visited-before-1.html
-  ../../../../layout/reftests/css-visited/color-on-text-decoration-1.html
-  ../../../../layout/reftests/css-visited/content-color-on-link-before-1-ref.html
-  ../../../../layout/reftests/css-visited/subject-of-selector-child-1.html
-  ../../../../layout/reftests/css-visited/content-color-on-link-before-1.html
-  ../../../../layout/reftests/svg/pseudo-classes-02.svg
-  ../../../../layout/reftests/svg/pseudo-classes-02-ref.svg
-  ../../../../layout/reftests/svg/as-image/lime100x100.svg
-  ../../../../layout/reftests/svg/as-image/svg-image-visited-1-helper.svg
-  ../../../../layout/reftests/svg/as-image/svg-image-visited-2-helper.svg
--- a/layout/style/test/moz.build
+++ b/layout/style/test/moz.build
@@ -6,17 +6,96 @@
 
 HAS_MISC_RULE = True
 
 HostSimplePrograms([
     'host_ListCSSProperties',
 ])
 
 MOCHITEST_MANIFESTS += [
-    'chrome/mochitest.ini',
-    'css-visited/mochitest.ini',
     'mochitest.ini',
 ]
 XPCSHELL_TESTS_MANIFESTS += ['xpcshell.ini']
 BROWSER_CHROME_MANIFESTS += ['browser.ini']
 MOCHITEST_CHROME_MANIFESTS += ['chrome/chrome.ini']
 
+TEST_HARNESS_FILES.testing.mochitest.tests.layout.style.test.chrome += [
+    'chrome/additional_sheets_helper.html',
+    'chrome/moz_document_helper.html',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.layout.style.test['css-visited'] += [
+    '/layout/reftests/css-visited/border-1-ref.html',
+    '/layout/reftests/css-visited/border-1.html',
+    '/layout/reftests/css-visited/border-2-ref.html',
+    '/layout/reftests/css-visited/border-2a.html',
+    '/layout/reftests/css-visited/border-2b.html',
+    '/layout/reftests/css-visited/border-collapse-1-ref.html',
+    '/layout/reftests/css-visited/border-collapse-1.html',
+    '/layout/reftests/css-visited/color-choice-1-ref.html',
+    '/layout/reftests/css-visited/color-choice-1.html',
+    '/layout/reftests/css-visited/color-on-bullets-1-ref.html',
+    '/layout/reftests/css-visited/color-on-bullets-1.html',
+    '/layout/reftests/css-visited/color-on-link-1-ref.html',
+    '/layout/reftests/css-visited/color-on-link-1.html',
+    '/layout/reftests/css-visited/color-on-link-before-1.html',
+    '/layout/reftests/css-visited/color-on-text-decoration-1-ref.html',
+    '/layout/reftests/css-visited/color-on-text-decoration-1.html',
+    '/layout/reftests/css-visited/color-on-visited-1-ref.html',
+    '/layout/reftests/css-visited/color-on-visited-1.html',
+    '/layout/reftests/css-visited/color-on-visited-before-1.html',
+    '/layout/reftests/css-visited/column-rule-1-notref.html',
+    '/layout/reftests/css-visited/column-rule-1-ref.html',
+    '/layout/reftests/css-visited/column-rule-1.html',
+    '/layout/reftests/css-visited/content-before-1-ref.html',
+    '/layout/reftests/css-visited/content-color-on-link-before-1-ref.html',
+    '/layout/reftests/css-visited/content-color-on-link-before-1.html',
+    '/layout/reftests/css-visited/content-color-on-visited-before-1-ref.html',
+    '/layout/reftests/css-visited/content-color-on-visited-before-1.html',
+    '/layout/reftests/css-visited/content-on-link-before-1.html',
+    '/layout/reftests/css-visited/content-on-visited-before-1.html',
+    '/layout/reftests/css-visited/first-line-1-ref.html',
+    '/layout/reftests/css-visited/first-line-1.html',
+    '/layout/reftests/css-visited/inherit-keyword-1-ref.html',
+    '/layout/reftests/css-visited/inherit-keyword-1.xhtml',
+    '/layout/reftests/css-visited/link-root-1-ref.xhtml',
+    '/layout/reftests/css-visited/link-root-1.xhtml',
+    '/layout/reftests/css-visited/mathml-links-ref.html',
+    '/layout/reftests/css-visited/mathml-links.html',
+    '/layout/reftests/css-visited/outline-1-ref.html',
+    '/layout/reftests/css-visited/outline-1.html',
+    '/layout/reftests/css-visited/selector-adj-sibling-1-ref.html',
+    '/layout/reftests/css-visited/selector-adj-sibling-1.html',
+    '/layout/reftests/css-visited/selector-adj-sibling-2-ref.html',
+    '/layout/reftests/css-visited/selector-adj-sibling-2.html',
+    '/layout/reftests/css-visited/selector-any-sibling-1-ref.html',
+    '/layout/reftests/css-visited/selector-any-sibling-1.html',
+    '/layout/reftests/css-visited/selector-any-sibling-2-ref.html',
+    '/layout/reftests/css-visited/selector-any-sibling-2.html',
+    '/layout/reftests/css-visited/selector-child-1-ref.html',
+    '/layout/reftests/css-visited/selector-child-1.html',
+    '/layout/reftests/css-visited/selector-child-2-ref.xhtml',
+    '/layout/reftests/css-visited/selector-child-2.xhtml',
+    '/layout/reftests/css-visited/selector-descendant-1-ref.html',
+    '/layout/reftests/css-visited/selector-descendant-1.html',
+    '/layout/reftests/css-visited/selector-descendant-2-ref.xhtml',
+    '/layout/reftests/css-visited/selector-descendant-2.xhtml',
+    '/layout/reftests/css-visited/subject-of-selector-1-ref.html',
+    '/layout/reftests/css-visited/subject-of-selector-adj-sibling-1.html',
+    '/layout/reftests/css-visited/subject-of-selector-any-sibling-1.html',
+    '/layout/reftests/css-visited/subject-of-selector-child-1.html',
+    '/layout/reftests/css-visited/subject-of-selector-descendant-1.html',
+    '/layout/reftests/css-visited/subject-of-selector-descendant-2-ref.xhtml',
+    '/layout/reftests/css-visited/subject-of-selector-descendant-2.xhtml',
+    '/layout/reftests/css-visited/visited-page.html',
+    '/layout/reftests/css-visited/white-to-transparent-1-ref.html',
+    '/layout/reftests/css-visited/white-to-transparent-1.html',
+    '/layout/reftests/css-visited/width-1-ref.html',
+    '/layout/reftests/css-visited/width-on-link-1.html',
+    '/layout/reftests/css-visited/width-on-visited-1.html',
+    '/layout/reftests/svg/as-image/lime100x100.svg',
+    '/layout/reftests/svg/as-image/svg-image-visited-1-helper.svg',
+    '/layout/reftests/svg/as-image/svg-image-visited-2-helper.svg',
+    '/layout/reftests/svg/pseudo-classes-02-ref.svg',
+    '/layout/reftests/svg/pseudo-classes-02.svg',
+]
+
 DEFINES['MOZILLA_INTERNAL_API'] = True
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -1058,17 +1058,17 @@ class TreeMetadataEmitter(LoggingMixin):
         manifest_reldir = mozpath.dirname(mozpath.relpath(path,
             context.config.topsrcdir))
         install_prefix = mozpath.join(install_root, install_subdir)
 
         try:
             m = manifestparser.TestManifest(manifests=[path], strict=True,
                                             rootdir=context.config.topsrcdir)
             defaults = m.manifest_defaults[os.path.normpath(path)]
-            if not m.tests and not 'support-files' in defaults:
+            if not m.tests:
                 raise SandboxValidationError('Empty test manifest: %s'
                     % path, context)
 
             obj = TestManifest(context, path, m, flavor=flavor,
                 install_prefix=install_prefix,
                 relpath=mozpath.join(manifest_reldir, mozpath.basename(path)),
                 dupe_manifest='dupe-manifest' in defaults)
 
@@ -1157,20 +1157,16 @@ class TreeMetadataEmitter(LoggingMixin):
                 if package_tests:
                     manifest_relpath = mozpath.relpath(test['path'],
                         mozpath.dirname(test['manifest']))
                     obj.installs[mozpath.normpath(test['path'])] = \
                         ((mozpath.join(out_dir, manifest_relpath)), True)
 
                 process_support_files(test)
 
-            if not filtered:
-                # If there are no tests, look for support-files under DEFAULT.
-                process_support_files(defaults)
-
             # We also copy manifests into the output directory,
             # including manifests from [include:foo] directives.
             for mpath in m.manifests():
                 mpath = mozpath.normpath(mpath)
                 out_path = mozpath.join(out_dir, mozpath.basename(mpath))
                 obj.installs[mpath] = (out_path, False)
 
             # Some manifests reference files that are auto generated as
--- a/python/mozbuild/mozbuild/test/frontend/data/test-manifest-absolute-support/absolute-support.ini
+++ b/python/mozbuild/mozbuild/test/frontend/data/test-manifest-absolute-support/absolute-support.ini
@@ -1,2 +1,4 @@
 [DEFAULT]
 support-files = /.well-known/foo.txt
+
+[test_file.js]
new file mode 100644
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
@@ -371,37 +371,34 @@ class TestEmitterBasic(unittest.TestCase
         """A test manifest without any entries is rejected."""
         reader = self.reader('test-manifest-empty')
 
         with self.assertRaisesRegexp(SandboxValidationError, 'Empty test manifest'):
             self.read_topsrcdir(reader)
 
 
     def test_test_manifest_just_support_files(self):
-        """A test manifest with no tests but support-files is supported."""
+        """A test manifest with no tests but support-files is not supported."""
         reader = self.reader('test-manifest-just-support')
 
-        objs = self.read_topsrcdir(reader)
-        self.assertEqual(len(objs), 1)
-        o = objs[0]
-        self.assertEqual(len(o.installs), 2)
-        paths = sorted([k[len(o.directory)+1:] for k in o.installs.keys()])
-        self.assertEqual(paths, ["foo.txt", "just-support.ini"])
+        with self.assertRaisesRegexp(SandboxValidationError, 'Empty test manifest'):
+            self.read_topsrcdir(reader)
 
     def test_test_manifest_absolute_support_files(self):
         """Support files starting with '/' are placed relative to the install root"""
         reader = self.reader('test-manifest-absolute-support')
 
         objs = self.read_topsrcdir(reader)
         self.assertEqual(len(objs), 1)
         o = objs[0]
-        self.assertEqual(len(o.installs), 2)
+        self.assertEqual(len(o.installs), 3)
         expected = [
             mozpath.normpath(mozpath.join(o.install_prefix, "../.well-known/foo.txt")),
             mozpath.join(o.install_prefix, "absolute-support.ini"),
+            mozpath.join(o.install_prefix, "test_file.js"),
         ]
         paths = sorted([v[0] for v in o.installs.values()])
         self.assertEqual(paths, expected)
 
     def test_test_manifest_install_to_subdir(self):
         """ """
         reader = self.reader('test-manifest-install-subdir')
 
deleted file mode 100644
--- a/testing/mochitest/MochiKit/mochitest.ini
+++ /dev/null
@@ -1,23 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files =
-  /MochiKit/Async.js
-  /MochiKit/Base.js
-  /MochiKit/Color.js
-  /MochiKit/Controls.js
-  /MochiKit/DateTime.js
-  /MochiKit/DOM.js
-  /MochiKit/DragAndDrop.js
-  /MochiKit/Format.js
-  /MochiKit/Iter.js
-  /MochiKit/Logging.js
-  /MochiKit/LoggingPane.js
-  /MochiKit/MochiKit.js
-  /MochiKit/MockDOM.js
-  /MochiKit/New.js
-  /MochiKit/__package__.js
-  /MochiKit/Signal.js
-  /MochiKit/Sortable.js
-  /MochiKit/Style.js
-  /MochiKit/Test.js
-  /MochiKit/Visual.js
deleted file mode 100644
--- a/testing/mochitest/dynamic/mochitest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files = /dynamic/getMyDirectory.sjs
--- a/testing/mochitest/moz.build
+++ b/testing/mochitest/moz.build
@@ -15,20 +15,16 @@ XPI_NAME = 'mochijar'
 
 JAR_MANIFESTS += ['jar.mn']
 
 USE_EXTENSION_MANIFEST = True
 
 FINAL_TARGET_PP_FILES += ['install.rdf']
 
 MOCHITEST_MANIFESTS += [
-    'dynamic/mochitest.ini',
-    'MochiKit/mochitest.ini',
-    'static/mochitest.ini',
-    'tests/MochiKit-1.4.2/MochiKit/mochitest.ini',
     'tests/MochiKit-1.4.2/tests/mochitest.ini',
 ]
 MOCHITEST_CHROME_MANIFESTS += ['chrome/chrome.ini']
 
 TEST_HARNESS_FILES.testing.mochitest += [
     '!automation.py',
     '/build/mobile/remoteautomation.py',
     '/build/pgo/server-locations.txt',
@@ -94,8 +90,61 @@ TEST_HARNESS_FILES.testing.mochitest.pyw
 ]
 
 TEST_HARNESS_FILES.testing.mochitest.pywebsocket.mod_pywebsocket.handshake += [
     'pywebsocket/mod_pywebsocket/handshake/__init__.py',
     'pywebsocket/mod_pywebsocket/handshake/_base.py',
     'pywebsocket/mod_pywebsocket/handshake/hybi.py',
     'pywebsocket/mod_pywebsocket/handshake/hybi00.py',
 ]
+
+TEST_HARNESS_FILES.testing.mochitest.dynamic += [
+    'dynamic/getMyDirectory.sjs',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.static += [
+    'static/harness.css',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.MochiKit += [
+    'MochiKit/__package__.js',
+    'MochiKit/Async.js',
+    'MochiKit/Base.js',
+    'MochiKit/Color.js',
+    'MochiKit/Controls.js',
+    'MochiKit/DateTime.js',
+    'MochiKit/DOM.js',
+    'MochiKit/DragAndDrop.js',
+    'MochiKit/Format.js',
+    'MochiKit/Iter.js',
+    'MochiKit/Logging.js',
+    'MochiKit/LoggingPane.js',
+    'MochiKit/MochiKit.js',
+    'MochiKit/MockDOM.js',
+    'MochiKit/New.js',
+    'MochiKit/Signal.js',
+    'MochiKit/Sortable.js',
+    'MochiKit/Style.js',
+    'MochiKit/Test.js',
+    'MochiKit/Visual.js',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.testing.mochitest.tests['MochiKit-1.4.2'].MochiKit += [
+    'tests/MochiKit-1.4.2/MochiKit/Async.js',
+    'tests/MochiKit-1.4.2/MochiKit/Base.js',
+    'tests/MochiKit-1.4.2/MochiKit/Color.js',
+    'tests/MochiKit-1.4.2/MochiKit/DateTime.js',
+    'tests/MochiKit-1.4.2/MochiKit/DOM.js',
+    'tests/MochiKit-1.4.2/MochiKit/DragAndDrop.js',
+    'tests/MochiKit-1.4.2/MochiKit/Format.js',
+    'tests/MochiKit-1.4.2/MochiKit/Iter.js',
+    'tests/MochiKit-1.4.2/MochiKit/Logging.js',
+    'tests/MochiKit-1.4.2/MochiKit/LoggingPane.js',
+    'tests/MochiKit-1.4.2/MochiKit/MochiKit.js',
+    'tests/MochiKit-1.4.2/MochiKit/MockDOM.js',
+    'tests/MochiKit-1.4.2/MochiKit/Position.js',
+    'tests/MochiKit-1.4.2/MochiKit/Selector.js',
+    'tests/MochiKit-1.4.2/MochiKit/Signal.js',
+    'tests/MochiKit-1.4.2/MochiKit/Sortable.js',
+    'tests/MochiKit-1.4.2/MochiKit/Style.js',
+    'tests/MochiKit-1.4.2/MochiKit/Test.js',
+    'tests/MochiKit-1.4.2/MochiKit/Visual.js',
+]
deleted file mode 100644
--- a/testing/mochitest/static/mochitest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files = /static/harness.css
\ No newline at end of file
deleted file mode 100644
--- a/testing/mochitest/tests/MochiKit-1.4.2/MochiKit/mochitest.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files =
-  Async.js
-  Base.js
-  Color.js
-  DateTime.js
-  DOM.js
-  DragAndDrop.js
-  Format.js
-  Iter.js
-  Logging.js
-  LoggingPane.js
-  MochiKit.js
-  MockDOM.js
-  Position.js
-  Selector.js
-  Signal.js
-  Sortable.js
-  Style.js
-  Test.js
-  Visual.js
\ No newline at end of file
--- a/toolkit/components/jsdownloads/moz.build
+++ b/toolkit/components/jsdownloads/moz.build
@@ -4,10 +4,15 @@
 # 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/.
 
 with Files('*'):
     BUG_COMPONENT = ('Toolkit', 'Download Manager')
 
 DIRS += ['public', 'src']
 
-XPCSHELL_TESTS_MANIFESTS += ['test/data/xpcshell.ini', 'test/unit/xpcshell.ini']
+XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
 BROWSER_CHROME_MANIFESTS += ['test/browser/browser.ini']
+
+TEST_HARNESS_FILES.xpcshell.toolkit.components.jsdownloads.test.data += [
+    'test/data/empty.txt',
+    'test/data/source.txt',
+]
deleted file mode 100644
--- a/toolkit/components/jsdownloads/test/data/xpcshell.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[DEFAULT]
-support-files =
-  empty.txt
-  source.txt
-
-# No tests, just data.
deleted file mode 100644
--- a/toolkit/components/places/tests/browser/mochitest.ini
+++ /dev/null
@@ -1,20 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files =
-  399606-httprefresh.html
-  399606-location.reload.html
-  399606-location.replace.html
-  399606-window.location.href.html
-  399606-window.location.html
-  399606-history.go-0.html
-  redirect.sjs
-  redirect-target.html
-  title1.html
-  title2.html
-  begin.html
-  redirect_twice.sjs
-  redirect_once.sjs
-  final.html
-  favicon-normal16.png
-  favicon-normal32.png
-  favicon.html
deleted file mode 100644
--- a/toolkit/components/places/tests/chrome/mochitest.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files =
-  sample_feed.atom
-  bad_links.atom
-  rss_as_html.rss
-  rss_as_html.rss^headers^
-  link-less-items.rss
-  link-less-items-no-site-uri.rss
deleted file mode 100644
--- a/toolkit/components/places/tests/mochitest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files = bug94514-postpage.html
deleted file mode 100644
--- a/toolkit/components/places/tests/mochitest/bug_411966/mochitest.ini
+++ /dev/null
@@ -1,10 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files =
-  redirect.js
-  TypedPage.htm
-  ClickedPage.htm
-  ClickedPage.htm^headers^
-  TempRedirectPage.htm
-  TempRedirectPage.htm^headers^
-  PermRedirectPage.htm
deleted file mode 100644
--- a/toolkit/components/places/tests/mochitest/bug_461710/mochitest.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[DEFAULT]
-skip-if = buildapp == 'b2g'
-support-files =
-  visited_page.html
-  link_page.html
-  link_page-2.html
-  link_page-3.html
-  iframe.html
--- a/toolkit/components/places/tests/moz.build
+++ b/toolkit/components/places/tests/moz.build
@@ -17,23 +17,71 @@ XPCSHELL_TESTS_MANIFESTS += [
     'favicons/xpcshell.ini',
     'history/xpcshell.ini',
     'inline/xpcshell.ini',
     'migration/xpcshell.ini',
     'network/xpcshell.ini',
     'queries/xpcshell.ini',
     'unifiedcomplete/xpcshell.ini',
     'unit/xpcshell.ini',
-    'xpcshell.ini',
 ]
 
 BROWSER_CHROME_MANIFESTS += ['browser/browser.ini']
 MOCHITEST_CHROME_MANIFESTS += [
     'chrome.ini',
     'chrome/chrome.ini',
 ]
-MOCHITEST_MANIFESTS += [
-    'browser/mochitest.ini',
-    'chrome/mochitest.ini',
-    'mochitest.ini',
-    'mochitest/bug_411966/mochitest.ini',
-    'mochitest/bug_461710/mochitest.ini',
+
+TEST_HARNESS_FILES.xpcshell.toolkit.components.places.tests += [
+    'head_common.js',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.toolkit.components.places.tests.browser += [
+    'browser/399606-history.go-0.html',
+    'browser/399606-httprefresh.html',
+    'browser/399606-location.reload.html',
+    'browser/399606-location.replace.html',
+    'browser/399606-window.location.href.html',
+    'browser/399606-window.location.html',
+    'browser/begin.html',
+    'browser/favicon-normal16.png',
+    'browser/favicon-normal32.png',
+    'browser/favicon.html',
+    'browser/final.html',
+    'browser/redirect-target.html',
+    'browser/redirect.sjs',
+    'browser/redirect_once.sjs',
+    'browser/redirect_twice.sjs',
+    'browser/title1.html',
+    'browser/title2.html',
 ]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.toolkit.components.places.tests.chrome += [
+    'chrome/bad_links.atom',
+    'chrome/link-less-items-no-site-uri.rss',
+    'chrome/link-less-items.rss',
+    'chrome/rss_as_html.rss',
+    'chrome/rss_as_html.rss^headers^',
+    'chrome/sample_feed.atom',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.toolkit.components.places.tests += [
+    'bug94514-postpage.html',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.toolkit.components.places.tests.mochitest.bug_411966 += [
+    'mochitest/bug_411966/ClickedPage.htm',
+    'mochitest/bug_411966/ClickedPage.htm^headers^',
+    'mochitest/bug_411966/PermRedirectPage.htm',
+    'mochitest/bug_411966/redirect.js',
+    'mochitest/bug_411966/TempRedirectPage.htm',
+    'mochitest/bug_411966/TempRedirectPage.htm^headers^',
+    'mochitest/bug_411966/TypedPage.htm',
+]
+
+TEST_HARNESS_FILES.testing.mochitest.tests.toolkit.components.places.tests.mochitest.bug_461710 += [
+    'mochitest/bug_461710/iframe.html',
+    'mochitest/bug_461710/link_page-2.html',
+    'mochitest/bug_461710/link_page-3.html',
+    'mochitest/bug_461710/link_page.html',
+    'mochitest/bug_461710/visited_page.html',
+]
+
deleted file mode 100644
--- a/toolkit/components/places/tests/xpcshell.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[DEFAULT]
-support-files = head_common.js