Backed out changeset 9c75cab2e322 (bug 733530) for breaking artifact builds
authorBogdan Tara <btara@mozilla.com>
Wed, 04 Jul 2018 14:50:22 +0300
changeset 424978 a9dc5dc8e2b8513686ad1b1f28c9e4da6de62226
parent 424977 0c5ad222605bc6579f4e281a30fc55b0634c08e1
child 424979 b66f3991034ce4c9e4ea907a64a961bd72f01d7e
child 425009 3a55ffabd7478cdceb632213a4aef2c4bab58c75
child 425025 b1fcf4dda09949b96a82474f0606fac85ab45974
push id34229
push userbtara@mozilla.com
push dateWed, 04 Jul 2018 11:51:21 +0000
treeherdermozilla-central@a9dc5dc8e2b8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs733530
milestone63.0a1
backs out9c75cab2e32295ee037f0a8f1af2f61ac86f8b8c
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
Backed out changeset 9c75cab2e322 (bug 733530) for breaking artifact builds
layout/tools/reftest/runreftest.py
python/mozbuild/mozbuild/action/test_archive.py
taskcluster/ci/source-test/python.yml
taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
taskcluster/taskgraph/transforms/beetmover.py
taskcluster/taskgraph/transforms/beetmover_repackage.py
testing/marionette/doc/Testing.md
testing/mochitest/mochitest_options.py
testing/mozbase/moztest/moztest/selftest/fixtures.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
testing/mozharness/mozharness/mozilla/testing/testbase.py
testing/mozharness/scripts/android_emulator_unittest.py
testing/mozharness/scripts/desktop_unittest.py
testing/testsuite-targets.mk
testing/web-platform/tests/README.md
testing/xpcshell/remotexpcshelltests.py
toolkit/mozapps/installer/package-name.mk
--- a/layout/tools/reftest/runreftest.py
+++ b/layout/tools/reftest/runreftest.py
@@ -928,17 +928,17 @@ class RefTest(object):
 
 
 def run_test_harness(parser, options):
     reftest = RefTest(options.suite)
     parser.validate(options, reftest)
 
     # We have to validate options.app here for the case when the mach
     # command is able to find it after argument parsing. This can happen
-    # when running from a tests archive.
+    # when running from a tests.zip.
     if not options.app:
         parser.error("could not find the application path, --appname must be specified")
 
     options.app = reftest.getFullPath(options.app)
     if not os.path.exists(options.app):
         parser.error("Error: Path %(app)s doesn't exist. Are you executing "
                      "$objdir/_tests/reftest/runreftest.py?" % {"app": options.app})
 
--- a/python/mozbuild/mozbuild/action/test_archive.py
+++ b/python/mozbuild/mozbuild/action/test_archive.py
@@ -568,17 +568,17 @@ def find_generated_harness_files():
 
 
 def find_files(archive):
     extra_entries = []
     generated_harness_files = find_generated_harness_files()
 
     if archive == 'common':
         # Construct entries ensuring all our generated harness files are
-        # packaged in the common tests archive.
+        # packaged in the common tests zip.
         packaged_paths = set()
         for entry in OBJDIR_TEST_FILES.values():
             pat = mozpath.join(entry['base'], entry['pattern'])
             del entry['pattern']
             patterns = []
             for path in generated_harness_files:
                 if mozpath.match(path, pat):
                     patterns.append(path[len(entry['base']) + 1:])
--- a/taskcluster/ci/source-test/python.yml
+++ b/taskcluster/ci/source-test/python.yml
@@ -62,27 +62,25 @@ mochitest-harness:
             linux64.*:
                 docker-image: {in-tree: "desktop1604-test"}
                 max-run-time: 3600
     run:
         using: run-task
         use-artifacts:
             build:
                 - target.tar.bz2
-                - target.common.tests.tar.gz
-                - target.mochitest.tests.tar.gz
+                - target.common.tests.zip
+                - target.mochitest.tests.zip
         command: >
             source /builds/worker/scripts/xvfb.sh &&
             start_xvfb '1600x1200x24' 0 &&
             cd $USE_ARTIFACT_PATH/build &&
             tar -xf target.tar.bz2 &&
-            mkdir -p tests &&
-            (cd tests &&
-             tar xf ../target.common.tests.tar.gz &&
-             tar xf ../target.mochitest.tests.tar.gz) &&
+            unzip -q -d tests target.common.tests.zip &&
+            unzip -q -d tests target.mochitest.tests.zip &&
             export GECKO_BINARY_PATH=$USE_ARTIFACT_PATH/build/firefox/firefox &&
             export TEST_HARNESS_ROOT=$USE_ARTIFACT_PATH/build/tests &&
             cd /builds/worker/checkouts/gecko &&
             ./mach python-test --python 2 --subsuite mochitest
     when:
         files-changed:
             - 'testing/mochitest/**'
             - 'testing/mozbase/moztest/moztest/selftest/**'
@@ -181,27 +179,25 @@ reftest-harness:
             linux64.*:
                 docker-image: {in-tree: "desktop1604-test"}
                 max-run-time: 3600
     run:
         using: run-task
         use-artifacts:
             build:
                 - target.tar.bz2
-                - target.common.tests.tar.gz
-                - target.reftest.tests.tar.gz
+                - target.common.tests.zip
+                - target.reftest.tests.zip
         command: >
             source /builds/worker/scripts/xvfb.sh &&
             start_xvfb '1600x1200x24' 0 &&
             cd $USE_ARTIFACT_PATH/build &&
             tar -xf target.tar.bz2 &&
-            mkdir -p tests &&
-            (cd tests &&
-             tar xf ../target.common.tests.tar.gz &&
-             tar xf ../target.reftest.tests.tar.gz) &&
+            unzip -q -d tests target.common.tests.zip &&
+            unzip -q -d tests target.reftest.tests.zip &&
             export GECKO_BINARY_PATH=$USE_ARTIFACT_PATH/build/firefox/firefox &&
             export TEST_HARNESS_ROOT=$USE_ARTIFACT_PATH/build/tests &&
             cd /builds/worker/checkouts/gecko &&
             ./mach python-test --python 2 --subsuite reftest
     when:
         files-changed:
             - 'layout/tools/reftest/**'
             - 'testing/mozbase/moztest/moztest/selftest/**'
--- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
+++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
@@ -493,25 +493,25 @@ MAJOR_VERSION="${VERSION%%.*}"
 echo "INFO: parsed version is ${VERSION}"
 if [ "${USE_MC}" == "true" ]; then
   MCVERSION=$(get_version "${MCREPO}")
   echo "INFO: parsed mozilla-central version is ${MCVERSION}"
   MAJOR_VERSION="${MCVERSION%%.*}"
 fi
 
 BROWSER_ARCHIVE="${PRODUCT}-${VERSION}.en-US.${PLATFORM}.${PLATFORM_EXT}"
-TESTS_ARCHIVE="${PRODUCT}-${VERSION}.en-US.${PLATFORM}.common.tests.tar.gz"
+TESTS_ARCHIVE="${PRODUCT}-${VERSION}.en-US.${PLATFORM}.common.tests.zip"
 if [ "${USE_MC}" == "true" ]; then
   BROWSER_ARCHIVE="${PRODUCT}-${MCVERSION}.en-US.${PLATFORM}.${PLATFORM_EXT}"
-  TESTS_ARCHIVE="${PRODUCT}-${MCVERSION}.en-US.${PLATFORM}.common.tests.tar.gz"
+  TESTS_ARCHIVE="${PRODUCT}-${MCVERSION}.en-US.${PLATFORM}.common.tests.zip"
 fi
 # Simple name builds on >=53.0.0
 if [ "${MAJOR_VERSION}" -ge 53 ] ; then
   BROWSER_ARCHIVE="target.${PLATFORM_EXT}"
-  TESTS_ARCHIVE="target.common.tests.tar.gz"
+  TESTS_ARCHIVE="target.common.tests.zip"
 fi
 # End 'remove once 52esr is off support'
 
 preflight_cleanup
 if [ "${DO_HSTS}" == "true" ] || [ "${DO_HPKP}" == "true" ] || [ "${DO_PRELOAD_PINSET}" == "true" ]
 then
   if [ "${USE_TC}" == "true" ]; then
     download_shared_artifacts_from_tc
--- a/taskcluster/taskgraph/transforms/beetmover.py
+++ b/taskcluster/taskgraph/transforms/beetmover.py
@@ -20,29 +20,29 @@ from voluptuous import Any, Required, Op
 
 
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
 # See example in bug 1348286
 _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US = [
     'buildhub.json',
-    "target.common.tests.tar.gz",
-    "target.cppunittest.tests.tar.gz",
+    "target.common.tests.zip",
+    "target.cppunittest.tests.zip",
     "target.crashreporter-symbols.zip",
     "target.json",
-    "target.mochitest.tests.tar.gz",
+    "target.mochitest.tests.zip",
     "target.mozinfo.json",
-    "target.reftest.tests.tar.gz",
-    "target.talos.tests.tar.gz",
-    "target.awsy.tests.tar.gz",
+    "target.reftest.tests.zip",
+    "target.talos.tests.zip",
+    "target.awsy.tests.zip",
     "target.test_packages.json",
     "target.txt",
     "target.web-platform.tests.tar.gz",
-    "target.xpcshell.tests.tar.gz",
+    "target.xpcshell.tests.zip",
     "target_info.txt",
     "target.jsshell.zip",
     "mozharness.zip",
     "target.langpack.xpi",
 ]
 
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
@@ -66,29 +66,29 @@ from voluptuous import Any, Required, Op
     "target.complete.mar",
 ]
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
 # See example in bug 1348286
 _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US = [
     "en-US/buildhub.json",
-    "en-US/target.common.tests.tar.gz",
-    "en-US/target.cppunittest.tests.tar.gz",
+    "en-US/target.common.tests.zip",
+    "en-US/target.cppunittest.tests.zip",
     "en-US/target.crashreporter-symbols.zip",
     "en-US/target.json",
-    "en-US/target.mochitest.tests.tar.gz",
+    "en-US/target.mochitest.tests.zip",
     "en-US/target.mozinfo.json",
-    "en-US/target.reftest.tests.tar.gz",
-    "en-US/target.talos.tests.tar.gz",
-    "en-US/target.awsy.tests.tar.gz",
+    "en-US/target.reftest.tests.zip",
+    "en-US/target.talos.tests.zip",
+    "en-US/target.awsy.tests.zip",
     "en-US/target.test_packages.json",
     "en-US/target.txt",
     "en-US/target.web-platform.tests.tar.gz",
-    "en-US/target.xpcshell.tests.tar.gz",
+    "en-US/target.xpcshell.tests.zip",
     "en-US/target_info.txt",
     "en-US/mozharness.zip",
     "en-US/robocop.apk",
     "en-US/target.jsshell.zip",
 ]
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
--- a/taskcluster/taskgraph/transforms/beetmover_repackage.py
+++ b/taskcluster/taskgraph/transforms/beetmover_repackage.py
@@ -36,29 +36,29 @@ logger = logging.getLogger(__name__)
 ]
 
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
 # See example in bug 1348286
 _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US = [
     "buildhub.json",
-    "target.common.tests.tar.gz",
-    "target.cppunittest.tests.tar.gz",
+    "target.common.tests.zip",
+    "target.cppunittest.tests.zip",
     "target.crashreporter-symbols.zip",
     "target.json",
-    "target.mochitest.tests.tar.gz",
+    "target.mochitest.tests.zip",
     "target.mozinfo.json",
-    "target.reftest.tests.tar.gz",
-    "target.talos.tests.tar.gz",
-    "target.awsy.tests.tar.gz",
+    "target.reftest.tests.zip",
+    "target.talos.tests.zip",
+    "target.awsy.tests.zip",
     "target.test_packages.json",
     "target.txt",
     "target.web-platform.tests.tar.gz",
-    "target.xpcshell.tests.tar.gz",
+    "target.xpcshell.tests.zip",
     "target_info.txt",
     "target.jsshell.zip",
     "mozharness.zip",
 ]
 
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
--- a/testing/marionette/doc/Testing.md
+++ b/testing/marionette/doc/Testing.md
@@ -181,17 +181,17 @@ Out-of-tree testing
 -------------------
 
 All the above examples show tests running _in-tree_, with a local
 checkout of _central_ and a local build of Firefox.  It is also
 possibly to run the Marionette tests _without_ a local build and
 with a downloaded test archive from <Taskcluster.html>.
 
 If you want to run tests from a downloaded test archive, you will
-need to download the `target.common.tests.tar.gz` artifact attached to
+need to download the `target.common.tests.zip` artifact attached to
 Treeherder [build jobs] `B` for your system.  Extract the archive
 and set up the Python Marionette client and harness by executing
 the following command in a virtual environment:
 
 	% pip install -r config/marionette_requirements.txt
 
 The tests can then be found under
 _marionette/tests/testing/marionette/harness/marionette_harness/tests_
--- a/testing/mochitest/mochitest_options.py
+++ b/testing/mochitest/mochitest_options.py
@@ -748,17 +748,17 @@ class MochitestArguments(ArgumentContain
             if build_obj:
                 possible.insert(0, os.path.join(build_obj.topobjdir, '_tests', 'modules'))
 
             for p in possible:
                 if os.path.isdir(p):
                     options.testingModulesDir = p
                     break
 
-        # Paths to specialpowers and mochijar from the tests archive.
+        # Paths to specialpowers and mochijar from the tests zip.
         options.stagedAddons = [
             os.path.join(here, 'extensions', 'specialpowers'),
             os.path.join(here, 'mochijar'),
         ]
         if build_obj:
             objdir_xpi_stage = os.path.join(build_obj.distdir, 'xpi-stage')
             if os.path.isdir(objdir_xpi_stage):
                 options.stagedAddons = [
--- a/testing/mozbase/moztest/moztest/selftest/fixtures.py
+++ b/testing/mozbase/moztest/moztest/selftest/fixtures.py
@@ -1,12 +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/.
-"""Pytest fixtures to help set up Firefox and a tests archive
+"""Pytest fixtures to help set up Firefox and a tests.zip
 in test harness selftests.
 """
 
 from __future__ import absolute_import
 
 import os
 import shutil
 import sys
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -84,17 +84,17 @@ TBPL_UPLOAD_ERRORS = [
 class MakeUploadOutputParser(OutputParser):
     tbpl_error_list = TBPL_UPLOAD_ERRORS
     # let's create a switch case using name-spaces/dict
     # rather than a long if/else with duplicate code
     property_conditions = [
         # key: property name, value: condition
         ('symbolsUrl', "m.endswith('crashreporter-symbols.zip') or "
                        "m.endswith('crashreporter-symbols-full.zip')"),
-        ('testsUrl', "m.endswith(('tests.tar.bz2', 'tests.zip', 'tests.tar.gz'))"),
+        ('testsUrl', "m.endswith(('tests.tar.bz2', 'tests.zip'))"),
         ('robocopApkUrl', "m.endswith('apk') and 'robocop' in m"),
         ('jsshellUrl', "'jsshell-' in m and m.endswith('.zip')"),
         ('partialMarUrl', "m.endswith('.mar') and '.partial.' in m"),
         ('completeMarUrl', "m.endswith('.mar')"),
         ('codeCoverageUrl', "m.endswith('code-coverage-gcno.zip')"),
     ]
 
     def __init__(self, use_package_as_marfile=False, package_filename=None, **kwargs):
--- a/testing/mozharness/mozharness/mozilla/testing/testbase.py
+++ b/testing/mozharness/mozharness/mozilla/testing/testbase.py
@@ -354,17 +354,17 @@ You can set this by specifying --test-ur
 
             if "common.tests" in file_name and isinstance(unpack_dirs, list):
                 # Ensure that the following files are always getting extracted
                 required_files = ["mach",
                                   "mozinfo.json",
                                   ]
                 for req_file in required_files:
                     if req_file not in unpack_dirs:
-                        self.info("Adding '{}' for extraction from common.tests archive"
+                        self.info("Adding '{}' for extraction from common.tests zip file"
                                   .format(req_file))
                         unpack_dirs.append(req_file)
 
             if "jsshell-" in file_name or file_name == "target.jsshell.zip":
                 self.info("Special-casing the jsshell zip file")
                 unpack_dirs = None
                 target_dir = dirs['abs_test_bin_dir']
 
--- a/testing/mozharness/scripts/android_emulator_unittest.py
+++ b/testing/mozharness/scripts/android_emulator_unittest.py
@@ -718,17 +718,17 @@ class AndroidEmulatorTest(TestingMixin, 
         self.info(logcat_cmd)
         os.system(logcat_cmd)
         # Get a post-boot emulator process list for diagnostics
         ps_cmd = ['shell', 'ps']
         self._run_adb_with_timeout(30, ps_cmd)
 
     def download_and_extract(self):
         """
-        Download and extract fennec APK, tests, host utils, and robocop (if required).
+        Download and extract fennec APK, tests.zip, host utils, and robocop (if required).
         """
         super(AndroidEmulatorTest, self).download_and_extract(
             suite_categories=self._query_suite_categories())
         dirs = self.query_abs_dirs()
         if self.test_suite and self.test_suite.startswith('robocop'):
             robocop_url = self.installer_url[:self.installer_url.rfind('/')] + '/robocop.apk'
             self.info("Downloading robocop...")
             self.download_file(robocop_url, 'robocop.apk', dirs['abs_work_dir'], error_level=FATAL)
--- a/testing/mozharness/scripts/desktop_unittest.py
+++ b/testing/mozharness/scripts/desktop_unittest.py
@@ -549,17 +549,17 @@ class DesktopUnittest(TestingMixin, Merc
             self.record_status(TBPL_EXCEPTION)
             self.fatal("There are specified suites that are incompatible with "
                        "--artifact try syntax flag: {}".format(', '.join(rejected)),
                        exit_code=self.return_code)
 
     def download_and_extract(self):
         """
         download and extract test zip / download installer
-        optimizes which subfolders to extract from tests archive
+        optimizes which subfolders to extract from tests zip
         """
         c = self.config
 
         extract_dirs = None
 
         if c.get('run_all_suites'):
             target_categories = SUITE_CATEGORIES
         else:
--- a/testing/testsuite-targets.mk
+++ b/testing/testsuite-targets.mk
@@ -108,27 +108,27 @@ ifdef MOZ_WEBRTC
 stage-all: stage-steeplechase
 endif
 
 ifdef COMPILE_ENVIRONMENT
 stage-all: stage-cppunittests
 endif
 
 TEST_PKGS_ZIP := \
-  $(NULL)
-
-TEST_PKGS_TARGZ := \
   common \
   cppunittest \
   mochitest \
   reftest \
   talos \
   raptor \
   awsy \
   xpcshell \
+  $(NULL)
+
+TEST_PKGS_TARGZ := \
   web-platform \
   $(NULL)
 
 ifdef LINK_GTEST_DURING_COMPILE
 stage-all: stage-gtest
 TEST_PKGS_ZIP += gtest
 endif
 
--- a/testing/web-platform/tests/README.md
+++ b/testing/web-platform/tests/README.md
@@ -128,21 +128,21 @@ sudo apt install libnss3-tools
 ```
 
 And on macOS with homebrew using:
 
 ```
 brew install nss
 ```
 
-On other platforms, download the firefox archive and common.tests.tar.gz
+On other platforms, download the firefox archive and common.tests.zip
 archive for your platform from
 [Mozilla CI](https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/).
 
-Then extract `certutil[.exe]` from the tests.tar.gz package and
+Then extract `certutil[.exe]` from the tests.zip package and
 `libnss3[.so|.dll|.dynlib]` and put the former on your path and the latter on
 your library path.
 
 
 Command Line Tools
 ==================
 
 The `wpt` command provides a frontend to a variety of tools for
--- a/testing/xpcshell/remotexpcshelltests.py
+++ b/testing/xpcshell/remotexpcshelltests.py
@@ -528,31 +528,31 @@ def verifyRemoteOptions(parser, options)
                 options['localLib'] = os.path.join(options['objdir'], path)
                 if os.path.isdir(options['localLib']):
                     break
             else:
                 parser.error("Couldn't find local library dir, specify --local-lib-dir")
         elif options['objdir']:
             options['localLib'] = os.path.join(options['objdir'], 'dist/bin')
         elif os.path.isfile(os.path.join(here, '..', 'bin', 'xpcshell')):
-            # assume tests are being run from a tests archive
+            # assume tests are being run from a tests.zip
             options['localLib'] = os.path.abspath(os.path.join(here, '..', 'bin'))
         else:
             parser.error("Couldn't find local library dir, specify --local-lib-dir")
 
     if options['localBin'] is None:
         if options['objdir']:
             for path in ['dist/bin', 'bin']:
                 options['localBin'] = os.path.join(options['objdir'], path)
                 if os.path.isdir(options['localBin']):
                     break
             else:
                 parser.error("Couldn't find local binary dir, specify --local-bin-dir")
         elif os.path.isfile(os.path.join(here, '..', 'bin', 'xpcshell')):
-            # assume tests are being run from a tests archive
+            # assume tests are being run from a tests.zip
             options['localBin'] = os.path.abspath(os.path.join(here, '..', 'bin'))
         else:
             parser.error("Couldn't find local binary dir, specify --local-bin-dir")
     return options
 
 
 class PathMapping:
 
--- a/toolkit/mozapps/installer/package-name.mk
+++ b/toolkit/mozapps/installer/package-name.mk
@@ -89,25 +89,25 @@ CODE_COVERAGE_ARCHIVE_BASENAME = $(PKG_B
 # Mozsearch package naming
 MOZSEARCH_ARCHIVE_BASENAME = $(PKG_BASENAME).mozsearch-index
 MOZSEARCH_RUST_ANALYSIS_BASENAME = $(PKG_BASENAME).mozsearch-rust
 
 # Mozharness naming
 MOZHARNESS_PACKAGE = mozharness.zip
 
 # Test package naming
-TEST_PACKAGE = $(PKG_BASENAME).common.tests.tar.gz
-CPP_TEST_PACKAGE = $(PKG_BASENAME).cppunittest.tests.tar.gz
-XPC_TEST_PACKAGE = $(PKG_BASENAME).xpcshell.tests.tar.gz
-MOCHITEST_PACKAGE = $(PKG_BASENAME).mochitest.tests.tar.gz
-REFTEST_PACKAGE = $(PKG_BASENAME).reftest.tests.tar.gz
+TEST_PACKAGE = $(PKG_BASENAME).common.tests.zip
+CPP_TEST_PACKAGE = $(PKG_BASENAME).cppunittest.tests.zip
+XPC_TEST_PACKAGE = $(PKG_BASENAME).xpcshell.tests.zip
+MOCHITEST_PACKAGE = $(PKG_BASENAME).mochitest.tests.zip
+REFTEST_PACKAGE = $(PKG_BASENAME).reftest.tests.zip
 WP_TEST_PACKAGE = $(PKG_BASENAME).web-platform.tests.tar.gz
-TALOS_PACKAGE = $(PKG_BASENAME).talos.tests.tar.gz
-AWSY_PACKAGE = $(PKG_BASENAME).awsy.tests.tar.gz
-GTEST_PACKAGE = $(PKG_BASENAME).gtest.tests.tar.gz
+TALOS_PACKAGE = $(PKG_BASENAME).talos.tests.zip
+AWSY_PACKAGE = $(PKG_BASENAME).awsy.tests.zip
+GTEST_PACKAGE = $(PKG_BASENAME).gtest.tests.zip
 
 ifneq (,$(wildcard $(DIST)/bin/application.ini))
 BUILDID = $(shell $(PYTHON) $(MOZILLA_DIR)/config/printconfigsetting.py $(DIST)/bin/application.ini App BuildID)
 else
 BUILDID = $(shell $(PYTHON) $(MOZILLA_DIR)/config/printconfigsetting.py $(DIST)/bin/platform.ini Build BuildID)
 endif
 
 MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt