From 8d0bead1e6ffeb65b63773e5d5146f321b39adda Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Wed, 4 Jul 2018 07:46:08 -0400 Subject: [PATCH 1/2] Bug 1471028 - fix check for outdated node versions; r=bustage, a=bustage MozReview-Commit-ID: 5OlPH2tUACP --- build/moz.configure/node.configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/moz.configure/node.configure b/build/moz.configure/node.configure index 9001c596381b..0f631ef8bb16 100644 --- a/build/moz.configure/node.configure +++ b/build/moz.configure/node.configure @@ -64,8 +64,8 @@ def nodejs_suitability(require, node, version): return if version < MIN_NODE_VERSION: - msg = 'NODEJS must point to node %s or newer; %s found' ( - MIN_NODE_VERSION, node_version) + msg = 'NODEJS must point to node %s or newer; %s found' % ( + MIN_NODE_VERSION, version) if require: raise FatalCheckError(msg) From 6eafe1c00ba6aea0aaa6da99ab20af59c3980f77 Mon Sep 17 00:00:00 2001 From: Bogdan Tara Date: Wed, 4 Jul 2018 14:50:22 +0300 Subject: [PATCH 2/2] Backed out changeset 9c75cab2e322 (bug 733530) for breaking artifact builds --- layout/tools/reftest/runreftest.py | 2 +- .../mozbuild/mozbuild/action/test_archive.py | 2 +- taskcluster/ci/source-test/python.yml | 20 ++++++------- .../scripts/periodic_file_updates.sh | 6 ++-- taskcluster/taskgraph/transforms/beetmover.py | 28 +++++++++---------- .../transforms/beetmover_repackage.py | 14 +++++----- testing/marionette/doc/Testing.md | 2 +- testing/mochitest/mochitest_options.py | 2 +- .../moztest/moztest/selftest/fixtures.py | 2 +- .../mozharness/mozilla/building/buildbase.py | 2 +- .../mozharness/mozilla/testing/testbase.py | 2 +- .../scripts/android_emulator_unittest.py | 2 +- .../mozharness/scripts/desktop_unittest.py | 2 +- testing/testsuite-targets.mk | 6 ++-- testing/web-platform/tests/README.md | 4 +-- testing/xpcshell/remotexpcshelltests.py | 4 +-- toolkit/mozapps/installer/package-name.mk | 16 +++++------ 17 files changed, 56 insertions(+), 60 deletions(-) diff --git a/layout/tools/reftest/runreftest.py b/layout/tools/reftest/runreftest.py index e9343fd1aac9..1f7ef998207c 100644 --- a/layout/tools/reftest/runreftest.py +++ b/layout/tools/reftest/runreftest.py @@ -933,7 +933,7 @@ def run_test_harness(parser, options): # 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") diff --git a/python/mozbuild/mozbuild/action/test_archive.py b/python/mozbuild/mozbuild/action/test_archive.py index 6602a95e1a5f..f7815e166b8a 100644 --- a/python/mozbuild/mozbuild/action/test_archive.py +++ b/python/mozbuild/mozbuild/action/test_archive.py @@ -573,7 +573,7 @@ def find_files(archive): 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']) diff --git a/taskcluster/ci/source-test/python.yml b/taskcluster/ci/source-test/python.yml index 0eb032e84bdc..2f4daee84db4 100644 --- a/taskcluster/ci/source-test/python.yml +++ b/taskcluster/ci/source-test/python.yml @@ -67,17 +67,15 @@ mochitest-harness: 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 && @@ -186,17 +184,15 @@ reftest-harness: 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 && diff --git a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh index 49de82f43fa2..55644111dbee 100755 --- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh +++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh @@ -498,15 +498,15 @@ if [ "${USE_MC}" == "true" ]; then 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' diff --git a/taskcluster/taskgraph/transforms/beetmover.py b/taskcluster/taskgraph/transforms/beetmover.py index 8ee92e508766..c53a98ddc6bd 100644 --- a/taskcluster/taskgraph/transforms/beetmover.py +++ b/taskcluster/taskgraph/transforms/beetmover.py @@ -25,19 +25,19 @@ from voluptuous import Any, Required, Optional # 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", @@ -71,19 +71,19 @@ _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_L10N = [ # 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", diff --git a/taskcluster/taskgraph/transforms/beetmover_repackage.py b/taskcluster/taskgraph/transforms/beetmover_repackage.py index 700bbc9245c0..a1e7a4aad016 100644 --- a/taskcluster/taskgraph/transforms/beetmover_repackage.py +++ b/taskcluster/taskgraph/transforms/beetmover_repackage.py @@ -41,19 +41,19 @@ _WINDOWS_BUILD_PLATFORMS = [ # 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", diff --git a/testing/marionette/doc/Testing.md b/testing/marionette/doc/Testing.md index c8b57ed16c2d..905043a8c36c 100644 --- a/testing/marionette/doc/Testing.md +++ b/testing/marionette/doc/Testing.md @@ -186,7 +186,7 @@ possibly to run the Marionette tests _without_ a local build and with a downloaded test archive from . 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: diff --git a/testing/mochitest/mochitest_options.py b/testing/mochitest/mochitest_options.py index b893bd51fd90..b68d3cba00a5 100644 --- a/testing/mochitest/mochitest_options.py +++ b/testing/mochitest/mochitest_options.py @@ -753,7 +753,7 @@ class MochitestArguments(ArgumentContainer): 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'), diff --git a/testing/mozbase/moztest/moztest/selftest/fixtures.py b/testing/mozbase/moztest/moztest/selftest/fixtures.py index 4305341ec0d6..4e17d12a223d 100644 --- a/testing/mozbase/moztest/moztest/selftest/fixtures.py +++ b/testing/mozbase/moztest/moztest/selftest/fixtures.py @@ -1,7 +1,7 @@ # 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. """ diff --git a/testing/mozharness/mozharness/mozilla/building/buildbase.py b/testing/mozharness/mozharness/mozilla/building/buildbase.py index 3a2cace1bbd7..e28cb0415b30 100755 --- a/testing/mozharness/mozharness/mozilla/building/buildbase.py +++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py @@ -89,7 +89,7 @@ class MakeUploadOutputParser(OutputParser): # 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"), diff --git a/testing/mozharness/mozharness/mozilla/testing/testbase.py b/testing/mozharness/mozharness/mozilla/testing/testbase.py index 9bb888c0f227..b9451ce4b35d 100755 --- a/testing/mozharness/mozharness/mozilla/testing/testbase.py +++ b/testing/mozharness/mozharness/mozilla/testing/testbase.py @@ -359,7 +359,7 @@ You can set this by specifying --test-url URL ] 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) diff --git a/testing/mozharness/scripts/android_emulator_unittest.py b/testing/mozharness/scripts/android_emulator_unittest.py index 459640a34b3e..3501a1ffc4fc 100644 --- a/testing/mozharness/scripts/android_emulator_unittest.py +++ b/testing/mozharness/scripts/android_emulator_unittest.py @@ -723,7 +723,7 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi 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()) diff --git a/testing/mozharness/scripts/desktop_unittest.py b/testing/mozharness/scripts/desktop_unittest.py index 56dec9fceeb5..575bb334a7a8 100755 --- a/testing/mozharness/scripts/desktop_unittest.py +++ b/testing/mozharness/scripts/desktop_unittest.py @@ -554,7 +554,7 @@ class DesktopUnittest(TestingMixin, MercurialScript, MozbaseMixin, 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 diff --git a/testing/testsuite-targets.mk b/testing/testsuite-targets.mk index 54986bc7913f..c298608e1c8c 100644 --- a/testing/testsuite-targets.mk +++ b/testing/testsuite-targets.mk @@ -113,9 +113,6 @@ stage-all: stage-cppunittests endif TEST_PKGS_ZIP := \ - $(NULL) - -TEST_PKGS_TARGZ := \ common \ cppunittest \ mochitest \ @@ -124,6 +121,9 @@ TEST_PKGS_TARGZ := \ raptor \ awsy \ xpcshell \ + $(NULL) + +TEST_PKGS_TARGZ := \ web-platform \ $(NULL) diff --git a/testing/web-platform/tests/README.md b/testing/web-platform/tests/README.md index ace03b13037b..84cd627eafdc 100644 --- a/testing/web-platform/tests/README.md +++ b/testing/web-platform/tests/README.md @@ -133,11 +133,11 @@ 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. diff --git a/testing/xpcshell/remotexpcshelltests.py b/testing/xpcshell/remotexpcshelltests.py index 75ccd515ba72..457982fd4198 100644 --- a/testing/xpcshell/remotexpcshelltests.py +++ b/testing/xpcshell/remotexpcshelltests.py @@ -533,7 +533,7 @@ def verifyRemoteOptions(parser, options): 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") @@ -547,7 +547,7 @@ def verifyRemoteOptions(parser, options): 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") diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk index c789c995bc54..c63289244e1d 100644 --- a/toolkit/mozapps/installer/package-name.mk +++ b/toolkit/mozapps/installer/package-name.mk @@ -94,15 +94,15 @@ MOZSEARCH_RUST_ANALYSIS_BASENAME = $(PKG_BASENAME).mozsearch-rust 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)