Bug 943728 - Convert several resource install using double quotes to INSTALL_TARGETS and editor/libeditor/html/tests to mochitest manifest. r=gps,r=mshal
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 03 Dec 2013 06:34:21 +0900
changeset 174035 cfe7047da1a044da54c5d8ea4794beba2da91a13
parent 174034 04f25103c4a9f69e8842d8ec5d08027c4093ac00
child 174036 942d149a7c0c6c4f85f8c212a2414f58b90585f7
push id445
push userffxbld
push dateMon, 10 Mar 2014 22:05:19 +0000
treeherdermozilla-release@dc38b741b04e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps, mshal
bugs943728
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 943728 - Convert several resource install using double quotes to INSTALL_TARGETS and editor/libeditor/html/tests to mochitest manifest. r=gps,r=mshal
dom/imptests/Makefile.in
editor/libeditor/html/tests/Makefile.in
editor/libeditor/html/tests/mochitest.ini
testing/mochitest/Makefile.in
testing/mochitest/MochiKit/Makefile.in
testing/mochitest/dynamic/Makefile.in
testing/mochitest/roboextender/Makefile.in
testing/mochitest/static/Makefile.in
testing/mochitest/tests/Makefile.in
testing/mochitest/tests/MochiKit-1.4.2/MochiKit/Makefile.in
testing/mochitest/tests/MochiKit-1.4.2/tests/Makefile.in
testing/mochitest/tests/MochiKit-1.4.2/tests/SimpleTest/Makefile.in
testing/mochitest/tests/SimpleTest/Makefile.in
toolkit/components/jsdownloads/test/data/Makefile.in
toolkit/components/places/tests/Makefile.in
--- a/dom/imptests/Makefile.in
+++ b/dom/imptests/Makefile.in
@@ -1,16 +1,14 @@
 # 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
-
-_SUPPORT_FILES = \
+SUPPORT_FILES = \
   testharness.js \
   testharnessreport.js \
   testharness.css \
   idlharness.js \
   WebIDLParser.js \
   $(NULL)
 
-libs:: $(_SUPPORT_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/resources
+SUPPORT_DEST = $(DEPTH)/_tests/testing/mochitest/resources
+INSTALL_TARGETS += SUPPORT
deleted file mode 100644
--- a/editor/libeditor/html/tests/Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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/.
-
-_DATA_FILES = \
-		data/cfhtml-chromium.txt \
-		data/cfhtml-firefox.txt \
-		data/cfhtml-ie.txt \
-		data/cfhtml-ooo.txt \
-		data/cfhtml-nocontext.txt \
-		$(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-libs::
-	(cd $(srcdir) && tar $(TAR_CREATE_FLAGS) - browserscope 2> /dev/null) | (cd $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir) && tar -xf -)
-
-libs:: $(_DATA_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)/data
--- a/editor/libeditor/html/tests/mochitest.ini
+++ b/editor/libeditor/html/tests/mochitest.ini
@@ -1,10 +1,68 @@
 [DEFAULT]
 support-files =
+  browserscope/test_richtext2.html
+  browserscope/test_richtext.html
+  browserscope/lib/richtext2/current_revision
+  browserscope/lib/richtext2/richtext2/common.py
+  browserscope/lib/richtext2/richtext2/unittestexample.html
+  browserscope/lib/richtext2/richtext2/static/editable-dM.html
+  browserscope/lib/richtext2/richtext2/static/editable.css
+  browserscope/lib/richtext2/richtext2/static/editable-body.html
+  browserscope/lib/richtext2/richtext2/static/editable-div.html
+  browserscope/lib/richtext2/richtext2/static/js/variables.js
+  browserscope/lib/richtext2/richtext2/static/js/range-bootstrap.js
+  browserscope/lib/richtext2/richtext2/static/js/range.js
+  browserscope/lib/richtext2/richtext2/static/js/output.js
+  browserscope/lib/richtext2/richtext2/static/js/compare.js
+  browserscope/lib/richtext2/richtext2/static/js/canonicalize.js
+  browserscope/lib/richtext2/richtext2/static/js/pad.js
+  browserscope/lib/richtext2/richtext2/static/js/run.js
+  browserscope/lib/richtext2/richtext2/static/js/units.js
+  browserscope/lib/richtext2/richtext2/static/common.css
+  browserscope/lib/richtext2/richtext2/__init__.py
+  browserscope/lib/richtext2/richtext2/handlers.py
+  browserscope/lib/richtext2/richtext2/templates/output.html
+  browserscope/lib/richtext2/richtext2/templates/richtext2.html
+  browserscope/lib/richtext2/richtext2/tests/forwarddelete.py
+  browserscope/lib/richtext2/richtext2/tests/selection.py
+  browserscope/lib/richtext2/richtext2/tests/queryIndeterm.py
+  browserscope/lib/richtext2/richtext2/tests/unapplyCSS.py
+  browserscope/lib/richtext2/richtext2/tests/apply.py
+  browserscope/lib/richtext2/richtext2/tests/unapply.py
+  browserscope/lib/richtext2/richtext2/tests/change.py
+  browserscope/lib/richtext2/richtext2/tests/queryState.py
+  browserscope/lib/richtext2/richtext2/tests/queryValue.py
+  browserscope/lib/richtext2/richtext2/tests/__init__.py
+  browserscope/lib/richtext2/richtext2/tests/insert.py
+  browserscope/lib/richtext2/richtext2/tests/queryEnabled.py
+  browserscope/lib/richtext2/richtext2/tests/applyCSS.py
+  browserscope/lib/richtext2/richtext2/tests/changeCSS.py
+  browserscope/lib/richtext2/richtext2/tests/delete.py
+  browserscope/lib/richtext2/richtext2/tests/querySupported.py
+  browserscope/lib/richtext2/README
+  browserscope/lib/richtext2/update_from_upstream
+  browserscope/lib/richtext2/LICENSE
+  browserscope/lib/richtext2/README.Mozilla
+  browserscope/lib/richtext2/currentStatus.js
+  browserscope/lib/richtext/current_revision
+  browserscope/lib/richtext/README
+  browserscope/lib/richtext/update_from_upstream
+  browserscope/lib/richtext/LICENSE
+  browserscope/lib/richtext/README.Mozilla
+  browserscope/lib/richtext/richtext/editable.html
+  browserscope/lib/richtext/richtext/richtext.html
+  browserscope/lib/richtext/richtext/js/range.js
+  browserscope/lib/richtext/currentStatus.js
+  data/cfhtml-chromium.txt
+  data/cfhtml-firefox.txt
+  data/cfhtml-ie.txt
+  data/cfhtml-ooo.txt
+  data/cfhtml-nocontext.txt
   file_bug549262.html
   file_bug674770-1.html
   file_select_all_without_body.html
   green.png
 
 [test_CF_HTML_clipboard.html]
 [test_bug200416.html]
 [test_bug290026.html]
--- a/testing/mochitest/Makefile.in
+++ b/testing/mochitest/Makefile.in
@@ -5,24 +5,18 @@
 
 NO_JS_MANIFEST = 1
 MOZ_CHROME_FILE_FORMAT = jar
 DIST_FILES = install.rdf
 
 # Used in install.rdf
 USE_EXTENSION_MANIFEST = 1
 
-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
-
 # files that get copied into $objdir/_tests/
-_SERV_FILES = 	\
+SERV_FILES = 	\
 		runtests.py \
 		automation.py \
 		runtestsb2g.py \
 		runtestsremote.py \
 		runtestsvmware.py \
 		mochitest_options.py \
 		manifest.webapp \
 		$(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanager.py \
@@ -53,67 +47,69 @@ include $(topsrcdir)/build/automation-bu
 		b2g-desktop.json \
 		b2g-debug.json \
 		b2g_start_script.js \
 		root-ev-tester.crl \
 		intermediate-ev-tester.crl \
 		$(NULL)	
 
 ifeq ($(MOZ_BUILD_APP),mobile/android)
-_SERV_FILES += \
+SERV_FILES += \
   $(topsrcdir)/mobile/android/base/tests/robocop.ini \
   $(topsrcdir)/mobile/android/base/tests/robocop_autophone.ini \
   $(NULL)
 endif
 
-_PYWEBSOCKET_FILES = \
+_DEST_DIR = $(DEPTH)/_tests/$(relativesrcdir)
+SERV_DEST = $(_DEST_DIR)
+INSTALL_TARGETS += SERV
+
+PYWEBSOCKET_FILES = \
 		pywebsocket/standalone.py \
 		$(NULL)
+PYWEBSOCKET_DEST = $(_DEST_DIR)/pywebsocket
+INSTALL_TARGETS += PYWEBSOCKET
 
-_MOD_PYWEBSOCKET_FILES = \
+MOD_PYWEBSOCKET_FILES = \
 		pywebsocket/mod_pywebsocket/__init__.py \
 		pywebsocket/mod_pywebsocket/common.py \
 		pywebsocket/mod_pywebsocket/dispatch.py \
 		pywebsocket/mod_pywebsocket/extensions.py \
 		pywebsocket/mod_pywebsocket/headerparserhandler.py \
 		pywebsocket/mod_pywebsocket/http_header_util.py \
 		pywebsocket/mod_pywebsocket/memorizingfile.py \
 		pywebsocket/mod_pywebsocket/util.py \
 		pywebsocket/mod_pywebsocket/stream.py \
 		pywebsocket/mod_pywebsocket/_stream_hixie75.py \
 		pywebsocket/mod_pywebsocket/msgutil.py \
 		pywebsocket/mod_pywebsocket/_stream_hybi.py \
 		pywebsocket/mod_pywebsocket/_stream_base.py \
 		$(NULL)
+MOD_PYWEBSOCKET_DEST = $(_DEST_DIR)/pywebsocket/mod_pywebsocket
+INSTALL_TARGETS += MOD_PYWEBSOCKET
 
-_HANDSHAKE_FILES = \
+HANDSHAKE_FILES = \
 		pywebsocket/mod_pywebsocket/handshake/__init__.py \
 		pywebsocket/mod_pywebsocket/handshake/hybi00.py \
 		pywebsocket/mod_pywebsocket/handshake/_base.py \
 		pywebsocket/mod_pywebsocket/handshake/draft75.py \
 		pywebsocket/mod_pywebsocket/handshake/hybi.py \
 		$(NULL)
+HANDSHAKE_DEST = $(_DEST_DIR)/pywebsocket/mod_pywebsocket/handshake
+INSTALL_TARGETS += HANDSHAKE
 
-_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 -)
 
-libs:: $(_PYWEBSOCKET_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(_DEST_DIR)/pywebsocket
-
-libs:: $(_MOD_PYWEBSOCKET_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(_DEST_DIR)/pywebsocket/mod_pywebsocket
-
-libs:: $(_HANDSHAKE_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(_DEST_DIR)/pywebsocket/mod_pywebsocket/handshake
-
-libs:: $(_SERV_FILES)
-	$(INSTALL) $^ $(_DEST_DIR)
-
 # 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) \
   OCSPStaplingServer$(BIN_SUFFIX) \
--- a/testing/mochitest/MochiKit/Makefile.in
+++ b/testing/mochitest/MochiKit/Makefile.in
@@ -1,16 +1,14 @@
 #
 # 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
-
-_JS_FILES =	Async.js \
+JS_FILES =	Async.js \
 		Base.js \
 		Color.js \
 		Controls.js \
 		DateTime.js \
 		DOM.js \
 		DragAndDrop.js \
 		Format.js \
 		Iter.js \
@@ -21,11 +19,10 @@ include $(topsrcdir)/config/rules.mk
 		New.js \
 		__package__.js \
 		Signal.js \
 		Sortable.js \
 		Style.js \
 		Test.js \
 		Visual.js \
 		$(NULL)	
-
-libs:: $(_JS_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+JS_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += JS
--- a/testing/mochitest/dynamic/Makefile.in
+++ b/testing/mochitest/dynamic/Makefile.in
@@ -1,13 +1,10 @@
 #
 # 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
-
-_STATIC_FILES = \
+STATIC_FILES = \
 	getMyDirectory.sjs \
 	$(NULL)
-
-libs:: $(_STATIC_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+STATIC_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += STATIC
--- a/testing/mochitest/roboextender/Makefile.in
+++ b/testing/mochitest/roboextender/Makefile.in
@@ -7,24 +7,23 @@ DEPTH           = ../../..
 topsrcdir       = @top_srcdir@
 srcdir          = @srcdir@
 VPATH           = @srcdir@
 relativesrcdir  = testing/mochitest/roboextender
 TESTPATH        = $(topsrcdir)/mobile/android/base/tests/roboextender
 
 include $(DEPTH)/config/autoconf.mk
 
-_TEST_FILES = \
+TEST_EXTENSIONS_DIR = $(DEPTH)/_tests/testing/mochitest/extensions
+
+TEST_FILES = \
   bootstrap.js \
   install.rdf \
   chrome.manifest \
   $(NULL)
-
-TEST_EXTENSIONS_DIR = $(DEPTH)/_tests/testing/mochitest/extensions
+TEST_DEST = $(TEST_EXTENSIONS_DIR)/roboextender@mozilla.org/
+INSTALL_TARGETS += TEST
 
 include $(topsrcdir)/config/rules.mk
 
 libs:: $(_TEST_FILES)
-	$(MKDIR) -p $(TEST_EXTENSIONS_DIR)/roboextender@mozilla.org
-	$(INSTALL) $(foreach f,$^,"$f") $(TEST_EXTENSIONS_DIR)/roboextender@mozilla.org/
 	$(MKDIR) -p $(TEST_EXTENSIONS_DIR)/roboextender@mozilla.org/base
-	$(MKDIR) -p $(TESTPATH)
 	-cp $(TESTPATH)/* $(TEST_EXTENSIONS_DIR)/roboextender@mozilla.org/base
--- a/testing/mochitest/static/Makefile.in
+++ b/testing/mochitest/static/Makefile.in
@@ -1,15 +1,12 @@
 #
 # 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
-
-_STATIC_FILES = test.template.txt \
+STATIC_FILES = test.template.txt \
 		xhtml.template.txt \
 		xul.template.txt \
 		harness.css \
 		$(NULL)
-
-libs:: $(_STATIC_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+STATIC_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += STATIC
--- a/testing/mochitest/tests/Makefile.in
+++ b/testing/mochitest/tests/Makefile.in
@@ -1,16 +1,14 @@
 #
 # 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
-
-_TEST_FILES = \
+TEST_FILES = \
   test_sanity.html \
   test_sanityException.html \
   test_sanityException2.html \
   test_sanityWindowSnapshot.html \
   test_SpecialPowersExtension.html \
   test_SpecialPowersExtension2.html \
   test_SpecialPowersPushPermissions.html \
   test_SpecialPowersPushPrefEnv.html \
@@ -19,13 +17,12 @@ include $(topsrcdir)/config/rules.mk
   test_SpecialPowersLoadChromeScript.html \
   SpecialPowersLoadChromeScript.js \
   test_bug816847.html \
   test_sanity_cleanup.html \
   test_sanity_cleanup2.html \
   test_sanityEventUtils.html \
   test_sanitySimpletest.html \
   $(NULL)
-
 # Copy the sanity tests into a subdirectory, so the top level is all dirs
 # in the test screen.
-libs:: $(_TEST_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)/Harness_sanity
+TEST_DEST = $(DEPTH)/_tests/$(relativesrcdir)/Harness_sanity
+INSTALL_TARGETS += TEST
--- a/testing/mochitest/tests/MochiKit-1.4.2/MochiKit/Makefile.in
+++ b/testing/mochitest/tests/MochiKit-1.4.2/MochiKit/Makefile.in
@@ -1,17 +1,14 @@
 #
 # 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
-
-_MOCHIKIT_FILES = \
+MOCHIKIT_FILES = \
 	Async.js \
 	Base.js \
 	Color.js \
 	DateTime.js \
 	DOM.js \
 	DragAndDrop.js \
 	Format.js \
 	Iter.js \
@@ -23,10 +20,10 @@ include $(topsrcdir)/config/rules.mk
 	Selector.js \
 	Signal.js \
 	Sortable.js \
 	Style.js \
 	Test.js \
 	Visual.js \
 	$(NULL)
 
-libs:: $(_MOCHIKIT_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+MOCHIKIT_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += MOCHIKIT
--- a/testing/mochitest/tests/MochiKit-1.4.2/tests/Makefile.in
+++ b/testing/mochitest/tests/MochiKit-1.4.2/tests/Makefile.in
@@ -1,17 +1,14 @@
 #
 # 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
-
-_TEST_FILES = \
+TEST_FILES = \
 	test_Base.js \
 	test_Color.js \
 	test_DateTime.js \
 	test_DragAndDrop.js \
 	test_Format.js \
 	test_Iter.js \
 	test_Logging.js \
 	test_MochiKit-Async.html \
@@ -32,10 +29,10 @@ include $(topsrcdir)/config/rules.mk
 	test_MochiKit-Visual.html \
 	test_Signal.js \
 	$(NULL)
 
 # This test is broken: "Error: JSAN is not defined ... Line: 10".
 # (And is removed in future MochiKit v1.5)
 #	test_MochiKit-JSAN.html \
 
-libs:: $(_TEST_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+TEST_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += TEST
--- a/testing/mochitest/tests/MochiKit-1.4.2/tests/SimpleTest/Makefile.in
+++ b/testing/mochitest/tests/MochiKit-1.4.2/tests/SimpleTest/Makefile.in
@@ -2,17 +2,13 @@
 # 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/.
 
 
 #
 # We want to run the tests in our own (modified) harness.
 #
-
-include $(topsrcdir)/config/rules.mk
-
-_STUBS_FILES = \
+STUBS_FILES = \
 	test.css \
 	$(NULL)
-
-libs:: $(_STUBS_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+STUBS_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += STUBS
--- a/testing/mochitest/tests/SimpleTest/Makefile.in
+++ b/testing/mochitest/tests/SimpleTest/Makefile.in
@@ -1,24 +1,22 @@
 #
 # 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
-_SIMPLETEST_FILES =	LogController.js \
+SIMPLETEST_FILES =	LogController.js \
 			SimpleTest.js \
 			test.css \
 			TestRunner.js \
 			MemoryStats.js \
 			setup.js \
 			EventUtils.js \
 			ChromeUtils.js \
 			WindowSnapshot.js \
 			MockObjects.js \
 			NativeKeyCodes.js \
 			paint_listener.js \
 			iframe-between-tests.html \
 			$(DEPTH)/testing/specialpowers/content/MozillaLogger.js \
 			$(DEPTH)/docshell/test/chrome/docshell_helpers.js \
 			$(NULL)
-
-libs:: $(_SIMPLETEST_FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/$(relativesrcdir)
+SIMPLETEST_DEST = $(DEPTH)/_tests/$(relativesrcdir)
+INSTALL_TARGETS += SIMPLETEST
--- a/toolkit/components/jsdownloads/test/data/Makefile.in
+++ b/toolkit/components/jsdownloads/test/data/Makefile.in
@@ -1,12 +1,9 @@
 # Any copyright is dedicated to the Public Domain.
 # http://creativecommons.org/publicdomain/zero/1.0/
 
-FILES = \
+TEST_FILES = \
 	empty.txt \
 	source.txt \
 	$(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-libs:: $(FILES)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/xpcshell/$(relativesrcdir)
+TEST_DEST = $(DEPTH)/_tests/xpcshell/$(relativesrcdir)
+INSTALL_TARGETS += TEST
--- a/toolkit/components/places/tests/Makefile.in
+++ b/toolkit/components/places/tests/Makefile.in
@@ -1,24 +1,21 @@
 # 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/.
 
 # Files in the main "tests" folder.
-XPCSHELL_TESTS_COMMON = \
+XPCSHELL_TESTS_COMMON_FILES = \
   head_common.js \
   $(NULL)
+XPCSHELL_TESTS_COMMON_DEST = $(DEPTH)/_tests/xpcshell/$(relativesrcdir)
+INSTALL_TARGETS += XPCSHELL_TESTS_COMMON
 
 # Simple MochiTests
 MOCHITEST_FILES = \
 	mochitest/bug94514-postpage.html \
 	$(NULL)
 
 MOCHITEST_CHROME_FILES = \
 	mochitest/test_bug_94514.html \
 	mochitest/test_bug_411966.html \
 	mochitest/test_bug_461710_perwindowpb.html \
 	$(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-libs:: $(XPCSHELL_TESTS_COMMON)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/xpcshell/$(relativesrcdir)