diff --git a/layout/tools/reftest/jar.mn b/layout/tools/reftest/jar.mn index dd3cb97fd49..3d88cee5dc5 100644 --- a/layout/tools/reftest/jar.mn +++ b/layout/tools/reftest/jar.mn @@ -1,10 +1,8 @@ reftest.jar: % content reftest %content/ -* content/quit.js (quit.js) * content/reftest.js (reftest.js) content/reftest-content.js (reftest-content.js) content/reftest.xul (reftest.xul) - content/MozillaLogger.js (../../../testing/mochitest/tests/SimpleTest/MozillaLogger.js) #ifdef XPI_NAME % component {32530271-8c1b-4b7d-a812-218e42c6bb23} components/reftest-cmdline.js % contract @mozilla.org/commandlinehandler/general-startup;1?type=reftest {32530271-8c1b-4b7d-a812-218e42c6bb23} diff --git a/layout/tools/reftest/quit.js b/layout/tools/reftest/quit.js deleted file mode 100644 index 9a212d64656..00000000000 --- a/layout/tools/reftest/quit.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is The Original Code is Mozilla Automated Testing Code - * - * The Initial Developer of the Original Code is - * Mozilla Corporation. - * Portions created by the Initial Developer are Copyright (C) 2005 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - From mozilla/toolkit/content - These files did not have a license -*/ - -function canQuitApplication() -{ - var os = Components.classes["@mozilla.org/observer-service;1"] - .getService(Components.interfaces.nsIObserverService); - if (!os) - { - return true; - } - - try - { - var cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"] - .createInstance(Components.interfaces.nsISupportsPRBool); - os.notifyObservers(cancelQuit, "quit-application-requested", null); - - // Something aborted the quit process. - if (cancelQuit.data) - { - return false; - } - } - catch (ex) - { - } - return true; -} - -function goQuitApplication() -{ - if (!canQuitApplication()) - { - return false; - } - - const kAppStartup = '@mozilla.org/toolkit/app-startup;1'; - const kAppShell = '@mozilla.org/appshell/appShellService;1'; - var appService; - var forceQuit; - - if (kAppStartup in Components.classes) - { - appService = Components.classes[kAppStartup]. - getService(Components.interfaces.nsIAppStartup); - forceQuit = Components.interfaces.nsIAppStartup.eForceQuit; - } - else if (kAppShell in Components.classes) - { - appService = Components.classes[kAppShell]. - getService(Components.interfaces.nsIAppShellService); - forceQuit = Components.interfaces.nsIAppShellService.eForceQuit; - } - else - { - throw 'goQuitApplication: no AppStartup/appShell'; - } - - try - { - appService.quit(forceQuit); - } - catch(ex) - { - throw('goQuitApplication: ' + ex); - } - - return true; -} - diff --git a/layout/tools/reftest/reftest.js b/layout/tools/reftest/reftest.js index 6ff2e82370e..83a2054a80e 100644 --- a/layout/tools/reftest/reftest.js +++ b/layout/tools/reftest/reftest.js @@ -62,6 +62,8 @@ const NS_DIRECTORY_SERVICE_CONTRACTID = const NS_OBSERVER_SERVICE_CONTRACTID = "@mozilla.org/observer-service;1"; +Components.utils.import("resource://gre/modules/FileUtils.jsm"); + var gLoadTimeout = 0; var gTimeoutHook = null; var gRemote = false; @@ -261,55 +263,59 @@ function InitAndStartRefTests() { /* These prefs are optional, so we don't need to spit an error to the log */ try { - var prefs = Components.classes["@mozilla.org/preferences-service;1"]. - getService(Components.interfaces.nsIPrefBranch2); + var prefs = Components.classes["@mozilla.org/preferences-service;1"]. + getService(Components.interfaces.nsIPrefBranch2); } catch(e) { - gDumpLog("REFTEST TEST-UNEXPECTED-FAIL | | EXCEPTION: " + e + "\n"); + gDumpLog("REFTEST TEST-UNEXPECTED-FAIL | | EXCEPTION: " + e + "\n"); } /* set the gLoadTimeout */ try { - gLoadTimeout = prefs.getIntPref("reftest.timeout"); + gLoadTimeout = prefs.getIntPref("reftest.timeout"); } catch(e) { - gLoadTimeout = 5 * 60 * 1000; //5 minutes as per bug 479518 + gLoadTimeout = 5 * 60 * 1000; //5 minutes as per bug 479518 } /* Get the logfile for android tests */ try { - logFile = prefs.getCharPref("reftest.logFile"); - if (logFile) { - try { - var mfl = new MozillaFileLogger(logFile); - // Set to mirror to stdout as well as the file - gDumpLog = function (msg) {dump(msg); mfl.log(msg);}; + logFile = prefs.getCharPref("reftest.logFile"); + if (logFile) { + try { + var f = FileUtils.File(logFile); + var mfl = FileUtils.openFileOutputStream(f, FileUtils.MODE_WRONLY | FileUtils.MODE_CREATE); + // Set to mirror to stdout as well as the file + gDumpLog = function (msg) { + dump(msg); + mfl.write(msg, msg.length); + }; + } + catch(e) { + // If there is a problem, just use stdout + gDumpLog = dump; + } } - catch(e) { - // If there is a problem, just use stdout - gDumpLog = dump; - } - } } catch(e) {} try { - gRemote = prefs.getBoolPref("reftest.remote"); + gRemote = prefs.getBoolPref("reftest.remote"); } catch(e) { - gRemote = false; + gRemote = false; } try { - gIgnoreWindowSize = prefs.getBoolPref("reftest.ignoreWindowSize"); + gIgnoreWindowSize = prefs.getBoolPref("reftest.ignoreWindowSize"); } catch(e) { - gIgnoreWindowSize = false; + gIgnoreWindowSize = false; } /* Support for running a chunk (subset) of tests. In separate try as this is optional */ try { - gTotalChunks = prefs.getIntPref("reftest.totalChunks"); - gThisChunk = prefs.getIntPref("reftest.thisChunk"); + gTotalChunks = prefs.getIntPref("reftest.totalChunks"); + gThisChunk = prefs.getIntPref("reftest.thisChunk"); } catch(e) { - gTotalChunks = 0; - gThisChunk = 0; + gTotalChunks = 0; + gThisChunk = 0; } try { @@ -326,10 +332,10 @@ function InitAndStartRefTests() RegisterProcessCrashObservers(); if (gRemote) { - gServer = null; + gServer = null; } else { - gServer = CC["@mozilla.org/server/jshttp;1"]. - createInstance(CI.nsIHttpServer); + gServer = CC["@mozilla.org/server/jshttp;1"]. + createInstance(CI.nsIHttpServer); } try { if (gServer) @@ -405,7 +411,6 @@ function StartTests() function OnRefTestUnload() { - MozillaFileLogger.close(); } // Read all available data from an input stream and return it @@ -993,7 +998,8 @@ function DoneTests() gDumpLog("REFTEST TEST-START | Shutdown\n"); function onStopped() { - goQuitApplication(); + let appStartup = CC["@mozilla.org/toolkit/app-startup;1"].getService(CI.nsIAppStartup); + appStartup.quit(CI.nsIAppStartup.eForceQuit); } if (gServer) gServer.stop(onStopped); diff --git a/layout/tools/reftest/reftest.xul b/layout/tools/reftest/reftest.xul index 5eed32ffa3e..569c90f34d3 100644 --- a/layout/tools/reftest/reftest.xul +++ b/layout/tools/reftest/reftest.xul @@ -49,8 +49,6 @@ onunload="OnRefTestUnload();" style="background:white; overflow:hidden" > -