gecko/testing/xpcshell/Makefile.in
Gregory Szorc c9c6353ee5 Bug 1208320 - Produce xpcshell archive without staging test files; r=glandium
This commit produces the xpcshell test archive without staging 5000+
xpcshell test files first.

We teach the archiver to ignore .mkdir.done files.

The xpcshell Makefile.in still stages some files. This is less than
ideal. However, it is a small handful of files and shouldn't add too
much overhead.

This appears to not impact overall CPU usage significantly on my
machine, despute using Python instead of `zip`. It does reduce I/O
by ~25MB by avoiding the staging copy.
2015-09-30 09:36:16 -07:00

46 lines
1.4 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/.
include $(topsrcdir)/config/rules.mk
# Harness files from the srcdir
TEST_HARNESS_FILES := \
runxpcshelltests.py \
remotexpcshelltests.py \
runtestsb2g.py \
xpcshellcommandline.py \
head.js \
node-spdy \
moz-spdy \
node-http2 \
moz-http2 \
$(NULL)
# Extra files needed from $(topsrcdir)/build
EXTRA_BUILD_FILES := \
manifestparser.py \
$(NULL)
# Components / typelibs that don't get packaged with
# the build, but that we need for the test harness.
TEST_HARNESS_COMPONENTS := \
httpd.js \
httpd.manifest \
$(NULL)
# Rules for staging the necessary harness bits for a test package
PKG_STAGE = $(DIST)/test-stage
libs::
cp $(DEPTH)/_tests/xpcshell/xpcshell.ini $(DEPTH)/_tests/xpcshell/all-test-dirs.list
stage-package:
$(NSINSTALL) -D $(PKG_STAGE)/xpcshell/tests
@(cd $(srcdir) && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_FILES)) | (cd $(PKG_STAGE)/xpcshell && tar -xf -)
@(cd $(topsrcdir)/build && tar $(TAR_CREATE_FLAGS) - $(EXTRA_BUILD_FILES)) | (cd $(PKG_STAGE)/xpcshell && tar -xf -)
@cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/xpcshell
@cp $(DEPTH)/build/automation.py $(PKG_STAGE)/xpcshell
@(cd $(DIST)/bin/components && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_COMPONENTS)) | (cd $(PKG_STAGE)/bin/components && tar -xf -)