зеркало из https://github.com/mozilla/gecko-dev.git
Bug 759664 - Register testing-only JS modules with mochitests; r=ted
This commit is contained in:
Родитель
95206f4816
Коммит
847a1eba29
|
@ -8,6 +8,10 @@ Components.utils.import("resource://gre/modules/NetUtil.jsm");
|
||||||
function test() {
|
function test() {
|
||||||
waitForExplicitFinish();
|
waitForExplicitFinish();
|
||||||
|
|
||||||
|
// We overload this test to include verifying that httpd.js is
|
||||||
|
// importable as a testing-only JS module.
|
||||||
|
Components.utils.import("resource://testing-common/httpd.js", {});
|
||||||
|
|
||||||
nextTest();
|
nextTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -208,6 +208,12 @@ class MochitestOptions(optparse.OptionParser):
|
||||||
"This directory will be deleted after the tests are finished")
|
"This directory will be deleted after the tests are finished")
|
||||||
defaults["profilePath"] = tempfile.mkdtemp()
|
defaults["profilePath"] = tempfile.mkdtemp()
|
||||||
|
|
||||||
|
self.add_option("--testing-modules-dir", action = "store",
|
||||||
|
type = "string", dest = "testingModulesDir",
|
||||||
|
help = "Directory where testing-only JS modules are "
|
||||||
|
"located.")
|
||||||
|
defaults["testingModulesDir"] = None
|
||||||
|
|
||||||
self.add_option("--use-vmware-recording",
|
self.add_option("--use-vmware-recording",
|
||||||
action = "store_true", dest = "vmwareRecording",
|
action = "store_true", dest = "vmwareRecording",
|
||||||
help = "enables recording while the application is running "
|
help = "enables recording while the application is running "
|
||||||
|
@ -324,6 +330,34 @@ See <http://mochikit.com/doc/html/MochiKit/Logging.html> for details on the logg
|
||||||
if options.webapprtContent and options.webapprtChrome:
|
if options.webapprtContent and options.webapprtChrome:
|
||||||
self.error("Only one of --webapprt-content and --webapprt-chrome may be given.")
|
self.error("Only one of --webapprt-content and --webapprt-chrome may be given.")
|
||||||
|
|
||||||
|
# Try to guess the testing modules directory.
|
||||||
|
# This somewhat grotesque hack allows the buildbot machines to find the
|
||||||
|
# modules directory without having to configure the buildbot hosts. This
|
||||||
|
# code should never be executed in local runs because the build system
|
||||||
|
# should always set the flag that populates this variable. If buildbot ever
|
||||||
|
# passes this argument, this code can be deleted.
|
||||||
|
if options.testingModulesDir is None:
|
||||||
|
possible = os.path.join(os.getcwd(), os.path.pardir, 'modules')
|
||||||
|
|
||||||
|
if os.path.isdir(possible):
|
||||||
|
options.testingModulesDir = possible
|
||||||
|
|
||||||
|
# Even if buildbot is updated, we still want this, as the path we pass in
|
||||||
|
# to the app must be absolute and have proper slashes.
|
||||||
|
if options.testingModulesDir is not None:
|
||||||
|
options.testingModulesDir = os.path.normpath(options.testingModulesDir)
|
||||||
|
|
||||||
|
if not os.path.isabs(options.testingModulesDir):
|
||||||
|
options.testingModulesDir = os.path.abspath(testingModulesDir)
|
||||||
|
|
||||||
|
if not os.path.isdir(options.testingModulesDir):
|
||||||
|
self.error('--testing-modules-dir not a directory: %s' %
|
||||||
|
options.testingModulesDir)
|
||||||
|
|
||||||
|
options.testingModulesDir = options.testingModulesDir.replace('\\', '/')
|
||||||
|
if options.testingModulesDir[-1] != '/':
|
||||||
|
options.testingModulesDir += '/'
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,6 +840,10 @@ toolbar#nav-bar {
|
||||||
chrometestDir = "file:///" + chrometestDir.replace("\\", "/")
|
chrometestDir = "file:///" + chrometestDir.replace("\\", "/")
|
||||||
manifestFile.write("content mochitests %s contentaccessible=yes\n" % chrometestDir)
|
manifestFile.write("content mochitests %s contentaccessible=yes\n" % chrometestDir)
|
||||||
|
|
||||||
|
if options.testingModulesDir is not None:
|
||||||
|
manifestFile.write("resource testing-common file:///%s\n" %
|
||||||
|
options.testingModulesDir)
|
||||||
|
|
||||||
# Call installChromeJar().
|
# Call installChromeJar().
|
||||||
jarDir = "mochijar"
|
jarDir = "mochijar"
|
||||||
if not os.path.isdir(os.path.join(self.SCRIPT_DIRECTORY, jarDir)):
|
if not os.path.isdir(os.path.join(self.SCRIPT_DIRECTORY, jarDir)):
|
||||||
|
|
|
@ -32,6 +32,7 @@ RUN_MOCHITEST = \
|
||||||
$(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
|
$(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
|
||||||
--console-level=INFO --log-file=./$@.log --file-level=INFO \
|
--console-level=INFO --log-file=./$@.log --file-level=INFO \
|
||||||
--failure-file=$(call core_abspath,_tests/testing/mochitest/makefailures.json) \
|
--failure-file=$(call core_abspath,_tests/testing/mochitest/makefailures.json) \
|
||||||
|
--testing-modules-dir=$(call core_abspath,_tests/modules) \
|
||||||
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
|
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
|
||||||
|
|
||||||
RERUN_MOCHITEST = \
|
RERUN_MOCHITEST = \
|
||||||
|
@ -39,6 +40,7 @@ RERUN_MOCHITEST = \
|
||||||
$(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
|
$(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
|
||||||
--console-level=INFO --log-file=./$@.log --file-level=INFO \
|
--console-level=INFO --log-file=./$@.log --file-level=INFO \
|
||||||
--run-only-tests=makefailures.json \
|
--run-only-tests=makefailures.json \
|
||||||
|
--testing-modules-dir=$(call core_abspath,_tests/modules) \
|
||||||
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
|
$(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
|
||||||
|
|
||||||
RUN_MOCHITEST_REMOTE = \
|
RUN_MOCHITEST_REMOTE = \
|
||||||
|
|
Загрузка…
Ссылка в новой задаче