Skip to content

Commit

Permalink
Bug 1250961 - Move testing/mochitest/Makefile.in to moz.build. r=gps
Browse files Browse the repository at this point in the history
MozReview-Commit-ID: LwQH49FLfY2

--HG--
extra : rebase_source : c8c1007e05bfd9ff18d6199018c121473b576220
  • Loading branch information
chmanchester committed Feb 26, 2016
1 parent c90a166 commit 8b7ef38
Show file tree
Hide file tree
Showing 3 changed files with 117 additions and 100 deletions.
120 changes: 116 additions & 4 deletions python/mozbuild/mozbuild/action/test_archive.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,52 @@

STAGE = mozpath.join(buildconfig.topobjdir, 'dist', 'test-stage')

TEST_HARNESS_BINS = [
'BadCertServer',
'GenerateOCSPResponse',
'OCSPStaplingServer',
'SmokeDMD',
'certutil',
'crashinject',
'fileid',
'minidumpwriter',
'pk12util',
'screenshot',
'screentopng',
'ssltunnel',
'xpcshell',
]

# The fileid utility depends on mozglue. See bug 1069556.
TEST_HARNESS_DLLS = [
'crashinjectdll',
'mozglue'
]

TEST_PLUGIN_DLLS = [
'npctrltest',
'npsecondtest',
'npswftest',
'nptest',
'nptestjava',
'npthirdtest',
]

TEST_PLUGIN_DIRS = [
'JavaTest.plugin/**',
'SecondTest.plugin/**',
'Test.plugin/**',
'ThirdTest.plugin/**',
'npctrltest.plugin/**',
'npswftest.plugin/**',
]

GMP_TEST_PLUGIN_DIRS = [
'gmp-clearkey/**',
'gmp-fake/**',
'gmp-fakeopenh264/**',
]


ARCHIVE_FILES = {
'common': [
Expand Down Expand Up @@ -120,6 +166,62 @@
'pattern': '**',
'dest': 'tools/wptserve',
},
{
'source': buildconfig.topobjdir,
'base': 'dist/bin',
'patterns': [
'%s%s' % (f, buildconfig.substs['BIN_SUFFIX'])
for f in TEST_HARNESS_BINS
] + [
'%s%s%s' % (buildconfig.substs['DLL_PREFIX'], f, buildconfig.substs['DLL_SUFFIX'])
for f in TEST_HARNESS_DLLS
],
'dest': 'bin',
},
{
'source': buildconfig.topobjdir,
'base': 'dist/plugins',
'patterns': [
'%s%s%s' % (buildconfig.substs['DLL_PREFIX'], f, buildconfig.substs['DLL_SUFFIX'])
for f in TEST_PLUGIN_DLLS
],
'dest': 'bin/plugins',
},
{
'source': buildconfig.topobjdir,
'base': 'dist/plugins',
'patterns': TEST_PLUGIN_DIRS,
'dest': 'bin/plugins',
},
{
'source': buildconfig.topobjdir,
'base': 'dist/bin',
'patterns': GMP_TEST_PLUGIN_DIRS,
'dest': 'bin/plugins',
},
{
'source': buildconfig.topobjdir,
'base': 'dist/bin',
'patterns': [
'dmd.py',
'fix_linux_stack.py',
'fix_macosx_stack.py',
'fix_stack_using_bpsyms.py',
],
'dest': 'bin',
},
{
'source': buildconfig.topobjdir,
'base': 'dist/bin/components',
'pattern': 'test_necko.xpt',
'dest': 'bin/components',
},
{
'source': buildconfig.topsrcdir,
'base': 'build/pgo/certs',
'pattern': '**',
'dest': 'certs',
}
],
'cppunittest': [
{
Expand Down Expand Up @@ -178,6 +280,12 @@
'base': '',
'pattern': 'mochitest/**',
},
{
'source': buildconfig.topobjdir,
'base': '',
'pattern': 'mozinfo.json',
'dest': 'mochitest'
}
],
'mozharness': [
{
Expand Down Expand Up @@ -270,6 +378,9 @@ def find_files(archive):
source = entry['source']
base = entry.get('base', '')
pattern = entry.get('pattern')
patterns = entry.get('patterns', [])
if pattern:
patterns.append(pattern)
dest = entry.get('dest')
ignore = list(entry.get('ignore', []))
ignore.append('**/.mkdir.done')
Expand All @@ -283,10 +394,11 @@ def find_files(archive):

finder = FileFinder(os.path.join(source, base), **common_kwargs)

for p, f in finder.find(pattern):
if dest:
p = mozpath.join(dest, p)
yield p, f
for pattern in patterns:
for p, f in finder.find(pattern):
if dest:
p = mozpath.join(dest, p)
yield p, f


def find_reftest_dirs(topsrcdir, manifests):
Expand Down
95 changes: 0 additions & 95 deletions testing/mochitest/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -15,91 +15,6 @@ 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) \
fileid$(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) \
minidumpwriter$(BIN_SUFFIX) \
$(NULL)
endif

# The fileid utility depends on mozglue. See bug 1069556.
ifeq ($(OS_ARCH),Darwin)
TEST_HARNESS_BINS += \
fix_macosx_stack.py \
$(DLL_PREFIX)mozglue$(DLL_SUFFIX)
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/ \
npctrltest.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) \
$(DLL_PREFIX)npctrltest$(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 $@

Expand All @@ -119,13 +34,3 @@ stage-package-android:

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;)
2 changes: 1 addition & 1 deletion testing/testsuite-targets.mk
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,8 @@ stage-mach: make-stage-dir
cp $(topsrcdir)/mach $(PKG_STAGE)

stage-mochitest: make-stage-dir
$(MAKE) -C $(DEPTH)/testing/mochitest stage-package
ifeq ($(MOZ_BUILD_APP),mobile/android)
$(MAKE) -C $(DEPTH)/testing/mochitest stage-package
$(NSINSTALL) $(DEPTH)/mobile/android/base/fennec_ids.txt $(PKG_STAGE)/mochitest
endif

Expand Down

0 comments on commit 8b7ef38

Please sign in to comment.