Bug 811444 - panda boards magically reboot in the middle of the test. r=ted

This commit is contained in:
Joel Maher 2012-11-28 10:23:11 -05:00
parent 46c89ae29b
commit 02f46eda9d
4 changed files with 20 additions and 1 deletions

View File

@ -246,6 +246,11 @@ class MochitestOptions(optparse.OptionParser):
help = "Filename of the output file where we can store a .json list of failures to be run in the future with --run-only-tests.") help = "Filename of the output file where we can store a .json list of failures to be run in the future with --run-only-tests.")
defaults["failureFile"] = None defaults["failureFile"] = None
self.add_option("--run-slower",
action = "store_true", dest = "runSlower",
help = "Delay execution between test files.")
defaults["runSlower"] = False
# -h, --help are automatically handled by OptionParser # -h, --help are automatically handled by OptionParser
self.set_defaults(**defaults) self.set_defaults(**defaults)
@ -639,6 +644,8 @@ class Mochitest(object):
self.urlOpts.append("runOnly=false") self.urlOpts.append("runOnly=false")
if options.failureFile: if options.failureFile:
self.urlOpts.append("failureFile=%s" % self.getFullPath(options.failureFile)) self.urlOpts.append("failureFile=%s" % self.getFullPath(options.failureFile))
if options.runSlower:
self.urlOpts.append("runSlower=true")
def cleanup(self, manifest, options): def cleanup(self, manifest, options):
""" remove temporary files and profile """ """ remove temporary files and profile """

View File

@ -302,6 +302,7 @@ class MochiRemote(Mochitest):
self.localLog = options.logFile self.localLog = options.logFile
options.logFile = self.remoteLog options.logFile = self.remoteLog
options.profilePath = self.localProfile options.profilePath = self.localProfile
env["MOZ_HIDE_RESULTS_TABLE"] = 1
retVal = Mochitest.buildURLOptions(self, options, env) retVal = Mochitest.buildURLOptions(self, options, env)
#we really need testConfig.js (for browser chrome) #we really need testConfig.js (for browser chrome)
try: try:

View File

@ -78,6 +78,7 @@ TestRunner._urls = [];
TestRunner.timeout = 5 * 60 * 1000; // 5 minutes. TestRunner.timeout = 5 * 60 * 1000; // 5 minutes.
TestRunner.maxTimeouts = 4; // halt testing after too many timeouts TestRunner.maxTimeouts = 4; // halt testing after too many timeouts
TestRunner.runSlower = false;
TestRunner._expectingProcessCrash = false; TestRunner._expectingProcessCrash = false;
@ -440,7 +441,11 @@ TestRunner.testFinished = function(tests) {
TestRunner.updateUI(tests); TestRunner.updateUI(tests);
TestRunner._currentTest++; TestRunner._currentTest++;
TestRunner.runNextTest(); if (TestRunner.runSlower) {
setTimeout(TestRunner.runNextTest, 1000);
} else {
TestRunner.runNextTest();
}
} }
SpecialPowers.executeAfterFlushingMessageQueue(function() { SpecialPowers.executeAfterFlushingMessageQueue(function() {

View File

@ -104,6 +104,12 @@ if (!params.quiet) {
TestRunner.logger.addListener("dumpListener", consoleLevel + "", dumpListener); TestRunner.logger.addListener("dumpListener", consoleLevel + "", dumpListener);
} }
// A temporary hack for android 4.0 where Fennec utilizes the pandaboard so much it reboots
if (params.runSlower) {
TestRunner.runSlower = true;
}
var gTestList = []; var gTestList = [];
var RunSet = {} var RunSet = {}
RunSet.runall = function(e) { RunSet.runall = function(e) {