Bug 1283919 - Move packaging of Marionette from make to the test archiver
MozReview-Commit-ID: AOQHcA46bCh
--- a/browser/components/migration/moz.build
+++ b/browser/components/migration/moz.build
@@ -1,18 +1,16 @@
# -*- Mode: python; 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/.
XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
-MARIONETTE_UNIT_MANIFESTS += ['tests/marionette/manifest.ini']
-
JAR_MANIFESTS += ['jar.mn']
XPIDL_SOURCES += [
'nsIBrowserProfileMigrator.idl',
]
XPIDL_MODULE = 'migration'
--- a/layout/base/moz.build
+++ b/layout/base/moz.build
@@ -199,17 +199,16 @@ LOCAL_INCLUDES += [
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
LOCAL_INCLUDES += [
'/widget/android',
]
FINAL_LIBRARY = 'xul'
BROWSER_CHROME_MANIFESTS += ['tests/browser.ini']
-MARIONETTE_LAYOUT_MANIFESTS += ['tests/marionette/manifest.ini']
MOCHITEST_MANIFESTS += ['tests/mochitest.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini']
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
if CONFIG['_MSC_VER']:
# This is intended as a temporary hack to support building with VS2015.
# 'type cast': conversion from 'unsigned int' to 'void *' of greater size
--- a/python/mozbuild/mozbuild/action/test_archive.py
+++ b/python/mozbuild/mozbuild/action/test_archive.py
@@ -92,16 +92,45 @@ ARCHIVE_FILES = {
],
},
{
'source': buildconfig.topobjdir,
'base': '_tests',
'pattern': 'modules/**',
},
{
+ 'source': buildconfig.topsrcdir,
+ 'base': 'testing/marionette',
+ 'patterns': [
+ 'client/**',
+ 'mach_test_package_commands.py',
+ ],
+ 'dest': 'marionette',
+ },
+ {
+ 'source': buildconfig.topsrcdir,
+ 'base': 'testing/marionette/harness',
+ 'pattern': '**',
+ 'dest': 'marionette',
+ 'ignore': [
+ 'marionette/tests'
+ ]
+ },
+ {
+ 'source': buildconfig.topsrcdir,
+ 'base': '',
+ 'manifests': [
+ 'testing/marionette/harness/marionette/tests/unit-tests.ini',
+ 'testing/marionette/harness/marionette/tests/webapi-tests.ini',
+ ],
+ # We also need the manifests and harness_unit tests
+ 'pattern': 'testing/marionette/harness/marionette/tests/**',
+ 'dest': 'marionette/tests',
+ },
+ {
'source': buildconfig.topobjdir,
'base': '_tests',
'pattern': 'mozbase/**',
},
{
'source': buildconfig.topsrcdir,
'base': 'testing',
'pattern': 'firefox-ui/**',
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1510,36 +1510,16 @@ VARIABLES = {
'JETPACK_ADDON_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining jetpack addon tests.
"""),
'ANDROID_INSTRUMENTATION_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining Android instrumentation tests.
"""),
- 'MARIONETTE_LAYOUT_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining marionette-layout tests.
- """),
-
- 'MARIONETTE_LOOP_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining marionette-loop tests.
- """),
-
- 'MARIONETTE_UNIT_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining marionette-unit tests.
- """),
-
- 'MARIONETTE_UPDATE_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining marionette-update tests.
- """),
-
- 'MARIONETTE_WEBAPI_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining marionette-webapi tests.
- """),
-
'METRO_CHROME_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining metro browser chrome tests.
"""),
'MOCHITEST_CHROME_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining mochitest chrome tests.
"""),
deleted file mode 100644
--- a/testing/marionette/harness/marionette/tests/print-manifest-dirs.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-from manifestparser import TestManifest
-import os.path
-import sys
-
-def print_test_dirs(topsrcdir, manifest_file):
- """
- Simple routine which prints the paths of directories specified
- in a Marionette manifest, relative to topsrcdir. This does not recurse
- into manifests, as we currently have no need for that.
- """
-
- dirs = set()
- # output the directory of this (parent) manifest
- topsrcdir = os.path.abspath(topsrcdir)
- scriptdir = os.path.abspath(os.path.dirname(__file__))
- dirs.add(scriptdir[len(topsrcdir) + 1:])
-
- # output the directories of all the other manifests
- manifest = TestManifest()
- manifest.read(manifest_file)
- for i in manifest.get():
- d = os.path.dirname(i['manifest'])[len(topsrcdir) + 1:]
- dirs.add(d)
- for path in dirs:
- path = path.replace('\\', '/')
- print path
-
-if __name__ == '__main__':
- if len(sys.argv) < 3:
- print >>sys.stderr, "Usage: %s topsrcdir manifest.ini" % sys.argv[0]
- sys.exit(1)
-
- print_test_dirs(sys.argv[1], sys.argv[2])
-
--- a/testing/marionette/moz.build
+++ b/testing/marionette/moz.build
@@ -1,14 +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/.
DIRS += ["components"]
JAR_MANIFESTS += ["jar.mn"]
-MARIONETTE_UNIT_MANIFESTS += ["harness/marionette/tests/unit/unit-tests.ini"]
-MARIONETTE_UPDATE_MANIFESTS += ["harness/marionette/tests/update-tests.ini"]
-MARIONETTE_WEBAPI_MANIFESTS += ["harness/marionette/tests/webapi-tests.ini"]
+
XPCSHELL_TESTS_MANIFESTS += ["unit.ini"]
with Files("**"):
BUG_COMPONENT = ("Testing", "Marionette")
--- a/testing/testsuite-targets.mk
+++ b/testing/testsuite-targets.mk
@@ -177,17 +177,16 @@ PKG_STAGE = $(DIST)/test-stage
stage-all: \
stage-config \
stage-mach \
stage-extensions \
stage-mochitest \
stage-jstests \
stage-jetpack \
- stage-marionette \
stage-luciddream \
test-packages-manifest \
$(NULL)
ifdef MOZ_WEBRTC
stage-all: stage-steeplechase
endif
ifdef COMPILE_ENVIRONMENT
@@ -326,34 +325,16 @@ stage-steeplechase: make-stage-dir
cp -RL $(DIST)/xpi-stage/specialpowers $(PKG_STAGE)/steeplechase
cp -RL $(topsrcdir)/testing/profiles/prefs_general.js $(PKG_STAGE)/steeplechase
LUCIDDREAM_DIR=$(PKG_STAGE)/luciddream
stage-luciddream: make-stage-dir
$(NSINSTALL) -D $(LUCIDDREAM_DIR)
@(cd $(topsrcdir)/testing/luciddream && tar $(TAR_CREATE_FLAGS) - *) | (cd $(LUCIDDREAM_DIR)/ && tar -xf -)
-MARIONETTE_DIR=$(PKG_STAGE)/marionette
-stage-marionette: make-stage-dir
- $(NSINSTALL) -D $(MARIONETTE_DIR)/tests
- $(NSINSTALL) -D $(MARIONETTE_DIR)/client
- @(cd $(topsrcdir)/testing/marionette/harness && tar --exclude marionette/tests $(TAR_CREATE_FLAGS) - *) | (cd $(MARIONETTE_DIR)/ && tar -xf -)
- @(cd $(topsrcdir)/testing/marionette/client && tar $(TAR_CREATE_FLAGS) - *) | (cd $(MARIONETTE_DIR)/client && tar -xf -)
- cp $(topsrcdir)/testing/marionette/mach_test_package_commands.py $(MARIONETTE_DIR)
- $(PYTHON) $(topsrcdir)/testing/marionette/harness/marionette/tests/print-manifest-dirs.py \
- $(topsrcdir) \
- $(topsrcdir)/testing/marionette/harness/marionette/tests/unit-tests.ini \
- | (cd $(topsrcdir) && xargs tar $(TAR_CREATE_FLAGS) -) \
- | (cd $(MARIONETTE_DIR)/tests && tar -xf -)
- $(PYTHON) $(topsrcdir)/testing/marionette/harness/marionette/tests/print-manifest-dirs.py \
- $(topsrcdir) \
- $(topsrcdir)/testing/marionette/harness/marionette/tests/webapi-tests.ini \
- | (cd $(topsrcdir) && xargs tar $(TAR_CREATE_FLAGS) -) \
- | (cd $(MARIONETTE_DIR)/tests && tar -xf -)
-
stage-instrumentation-tests: make-stage-dir
$(MAKE) -C $(DEPTH)/testing/instrumentation stage-package
TEST_EXTENSIONS := \
specialpowers@mozilla.org.xpi \
$(NULL)
stage-extensions: make-stage-dir
@@ -371,14 +352,13 @@ stage-extensions: make-stage-dir
make-stage-dir \
stage-all \
stage-b2g \
stage-config \
stage-mochitest \
stage-jstests \
stage-android \
stage-jetpack \
- stage-marionette \
stage-steeplechase \
stage-instrumentation-tests \
stage-luciddream \
test-packages-manifest \
$(NULL)