mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 12:37:37 +00:00
e715f404c4
This is very similar to what we did for xpcshell. Like xpcshell, there are still some staged files. However, about 73MB of copies are eliminated with this change. On my machine, overall execution time of test packaging appears to decrease, although CPU usage is up slightly. --HG-- extra : commitid : 5dy340X80J9 extra : rebase_source : d37be29367b17e6c1d9c885ab4705932b7a42b39
121 lines
3.5 KiB
Makefile
121 lines
3.5 KiB
Makefile
#
|
|
# 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/.
|
|
|
|
|
|
_DEST_DIR = $(DEPTH)/_tests/$(relativesrcdir)
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
# We're installing to _tests/testing/mochitest, so this is the depth
|
|
# necessary for relative objdir paths.
|
|
TARGET_DEPTH = ../../..
|
|
include $(topsrcdir)/build/automation-build.mk
|
|
|
|
libs::
|
|
(cd $(DIST)/xpi-stage && tar $(TAR_CREATE_FLAGS) - mochijar) | (cd $(_DEST_DIR) && tar -xf -)
|
|
|
|
# Binaries and scripts that don't get packaged with the build,
|
|
# but that we need for the test harness
|
|
TEST_HARNESS_BINS := \
|
|
xpcshell$(BIN_SUFFIX) \
|
|
ssltunnel$(BIN_SUFFIX) \
|
|
certutil$(BIN_SUFFIX) \
|
|
pk12util$(BIN_SUFFIX) \
|
|
BadCertServer$(BIN_SUFFIX) \
|
|
OCSPStaplingServer$(BIN_SUFFIX) \
|
|
GenerateOCSPResponse$(BIN_SUFFIX) \
|
|
fix_stack_using_bpsyms.py \
|
|
$(NULL)
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
TEST_HARNESS_BINS += \
|
|
crashinject$(BIN_SUFFIX) \
|
|
crashinjectdll$(DLL_SUFFIX) \
|
|
$(NULL)
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),Darwin)
|
|
TEST_HARNESS_BINS += fix_macosx_stack.py
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),Linux)
|
|
TEST_HARNESS_BINS += fix_linux_stack.py
|
|
endif
|
|
|
|
ifdef MOZ_X11
|
|
ifneq (,$(filter gtk%,$(MOZ_WIDGET_TOOLKIT)))
|
|
TEST_HARNESS_BINS += screentopng
|
|
endif
|
|
endif
|
|
|
|
ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
|
|
TEST_HARNESS_BINS += screenshot$(BIN_SUFFIX)
|
|
endif
|
|
|
|
ifdef MOZ_DMD
|
|
TEST_HARNESS_BINS += \
|
|
dmd.py \
|
|
SmokeDMD$(BIN_SUFFIX) \
|
|
$(NULL)
|
|
endif
|
|
|
|
# Components / typelibs that don't get packaged with
|
|
# the build, but that we need for the test harness.
|
|
TEST_HARNESS_COMPONENTS := \
|
|
test_necko.xpt \
|
|
$(NULL)
|
|
|
|
# We need the test plugin as some tests rely on it
|
|
ifeq (Darwin,$(OS_TARGET))
|
|
TEST_HARNESS_PLUGINS := \
|
|
Test.plugin/ \
|
|
SecondTest.plugin/ \
|
|
ThirdTest.plugin/ \
|
|
npswftest.plugin/ \
|
|
JavaTest.plugin/
|
|
else
|
|
TEST_HARNESS_PLUGINS := \
|
|
$(DLL_PREFIX)nptest$(DLL_SUFFIX) \
|
|
$(DLL_PREFIX)npsecondtest$(DLL_SUFFIX) \
|
|
$(DLL_PREFIX)npthirdtest$(DLL_SUFFIX) \
|
|
$(DLL_PREFIX)nptestjava$(DLL_SUFFIX) \
|
|
$(DLL_PREFIX)npswftest$(DLL_SUFFIX)
|
|
endif
|
|
|
|
# Rules for staging the necessary harness bits for a test package
|
|
PKG_STAGE = $(DIST)/test-stage
|
|
DIST_BIN = $(DIST)/bin
|
|
|
|
GMP_TEST_PLUGIN_DIRS := \
|
|
$(DIST_BIN)/gmp-fake \
|
|
$(DIST_BIN)/gmp-fakeopenh264 \
|
|
$(DIST_BIN)/gmp-clearkey \
|
|
$(NULL)
|
|
|
|
$(_DEST_DIR):
|
|
$(NSINSTALL) -D $@
|
|
|
|
# On Android only, include a release signed Robocop APK in the test package.
|
|
ifeq ($(MOZ_BUILD_APP),mobile/android)
|
|
include $(topsrcdir)/config/android-common.mk
|
|
|
|
stage-package-android:
|
|
$(NSINSTALL) -D $(_DEST_DIR)
|
|
$(call RELEASE_SIGN_ANDROID_APK,\
|
|
$(DEPTH)/build/mobile/robocop/robocop-debug-unsigned-unaligned.apk,\
|
|
$(_DEST_DIR)/robocop.apk)
|
|
|
|
stage-package: stage-package-android
|
|
endif
|
|
|
|
stage-package:
|
|
$(NSINSTALL) -D $(PKG_STAGE)/mochitest && $(NSINSTALL) -D $(PKG_STAGE)/bin/plugins && $(NSINSTALL) -D $(DIST)/plugins
|
|
cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/mochitest
|
|
@cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/mochitest
|
|
@(cd $(DIST_BIN) && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_BINS)) | (cd $(PKG_STAGE)/bin && tar -xf -)
|
|
@(cd $(DIST_BIN)/components && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_COMPONENTS)) | (cd $(PKG_STAGE)/bin/components && tar -xf -)
|
|
(cd $(topsrcdir)/build/pgo && tar $(TAR_CREATE_FLAGS) - certs) | (cd $(PKG_STAGE) && tar -xf -)
|
|
@(cd $(DIST)/plugins && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_PLUGINS)) | (cd $(PKG_STAGE)/bin/plugins && tar -xf -)
|
|
$(foreach x,$(GMP_TEST_PLUGIN_DIRS),cp -RL $(x) $(PKG_STAGE)/bin/plugins;)
|