Bug 1250961 - Move testing/xpcshell/Makefile.in to moz.build. draft
authorChris Manchester <cmanchester@mozilla.com>
Fri, 26 Feb 2016 13:20:31 -0800
changeset 335058 2d4ae48d89b4b7d1343dec9cca0a299d5984502c
parent 335057 6594e6d4df841edb6beea153fe55a3beed2c1aea
child 335059 0e1754a7a3e2a32a0cee584dcd41b5d1f5b23b84
push id11706
push usercmanchester@mozilla.com
push dateFri, 26 Feb 2016 21:20:43 +0000
bugs1250961
milestone47.0a1
Bug 1250961 - Move testing/xpcshell/Makefile.in to moz.build. MozReview-Commit-ID: 8J9RzA0RZ0i
python/mozbuild/mozbuild/action/test_archive.py
testing/testsuite-targets.mk
testing/xpcshell/Makefile.in
--- a/python/mozbuild/mozbuild/action/test_archive.py
+++ b/python/mozbuild/mozbuild/action/test_archive.py
@@ -208,17 +208,21 @@ ARCHIVE_FILES = {
                 'fix_macosx_stack.py',
                 'fix_stack_using_bpsyms.py',
             ],
             'dest': 'bin',
         },
         {
             'source': buildconfig.topobjdir,
             'base': 'dist/bin/components',
-            'pattern': 'test_necko.xpt',
+            'patterns': [
+                'httpd.js',
+                'httpd.manifest',
+                'test_necko.xpt',
+            ],
             'dest': 'bin/components',
         },
         {
             'source': buildconfig.topsrcdir,
             'base': 'build/pgo/certs',
             'pattern': '**',
             'dest': 'certs',
         }
@@ -345,20 +349,48 @@ ARCHIVE_FILES = {
     'xpcshell': [
         {
             'source': buildconfig.topobjdir,
             'base': '_tests/xpcshell',
             'pattern': '**',
             'dest': 'xpcshell/tests',
         },
         {
+            'source': buildconfig.topsrcdir,
+            'base': 'testing/xpcshell',
+            'patterns': [
+                'head.js',
+                'moz-http2/**',
+                'moz-spdy/**',
+                'node-http2/**',
+                'node-spdy/**',
+                'remotexpcshelltests.py',
+                'runtestsb2g.py',
+                'runxpcshelltests.py',
+                'xpcshellcommandline.py',
+            ],
+            'dest': 'xpcshell',
+        },
+        {
             'source': STAGE,
             'base': '',
             'pattern': 'xpcshell/**',
         },
+        {
+            'source': buildconfig.topobjdir,
+            'base': '',
+            'pattern': 'mozinfo.json',
+            'dest': 'xpcshell',
+        },
+        {
+            'source': buildconfig.topobjdir,
+            'base': 'build',
+            'pattern': 'automation.py',
+            'dest': 'xpcshell',
+        },
     ],
 }
 
 
 # "common" is our catch all archive and it ignores things from other archives.
 # Verify nothing sneaks into ARCHIVE_FILES without a corresponding exclusion
 # rule in the "common" archive.
 for k, v in ARCHIVE_FILES.items():
--- a/testing/testsuite-targets.mk
+++ b/testing/testsuite-targets.mk
@@ -254,17 +254,16 @@ include $(topsrcdir)/toolkit/mozapps/ins
 
 PKG_STAGE = $(DIST)/test-stage
 
 stage-all: \
   stage-config \
   stage-mach \
   stage-extensions \
   stage-mochitest \
-  stage-xpcshell \
   stage-jstests \
   stage-jetpack \
   stage-marionette \
   stage-cppunittests \
   stage-luciddream \
   test-packages-manifest \
   test-packages-manifest-tc \
   $(NULL)
@@ -359,19 +358,16 @@ stage-mach: make-stage-dir
 	cp $(topsrcdir)/mach $(PKG_STAGE)
 
 stage-mochitest: make-stage-dir
 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
 
-stage-xpcshell: make-stage-dir
-	$(MAKE) -C $(DEPTH)/testing/xpcshell stage-package
-
 stage-jstests: make-stage-dir
 	$(MAKE) -C $(DEPTH)/js/src/tests stage-package
 
 stage-gtest: make-stage-dir
 # FIXME: (bug 1200311) We should be generating the gtest xul as part of the build.
 	$(MAKE) -C $(DEPTH)/testing/gtest gtest
 	$(NSINSTALL) -D $(PKG_STAGE)/gtest/gtest_bin
 	cp -RL $(DIST)/bin/gtest $(PKG_STAGE)/gtest/gtest_bin
@@ -464,17 +460,16 @@ stage-extensions: make-stage-dir
   package-tests \
   package-tests-prepare-dest \
   package-tests-common \
   make-stage-dir \
   stage-all \
   stage-b2g \
   stage-config \
   stage-mochitest \
-  stage-xpcshell \
   stage-jstests \
   stage-android \
   stage-jetpack \
   stage-marionette \
   stage-steeplechase \
   stage-instrumentation-tests \
   stage-luciddream \
   test-packages-manifest \
--- a/testing/xpcshell/Makefile.in
+++ b/testing/xpcshell/Makefile.in
@@ -1,45 +1,9 @@
 #
 # 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 -)