const { loader, require } = ChromeUtils.importESModule( "resource://devtools/shared/loader/Loader.sys.mjs"
); const xpcInspector = require("xpcInspector"); const {
DevToolsServer,
} = require("resource://devtools/server/devtools-server.js"); const {
DevToolsClient,
} = require("resource://devtools/client/devtools-client.js"); // We need to require lazily since will be crashed if we load SocketListener too early // in xpc shell test due to SocketListener loads PSM module.
loader.lazyRequireGetter( this, "SocketListener", "resource://devtools/shared/security/socket.js", true
);
// We do not want to log packets by default, because in some tests, // we can be sending large amounts of data. The test harness has // trouble dealing with logging all the data, and we end up with // intermittent time outs (e.g. bug 775924). // Services.prefs.setBoolPref("devtools.debugger.log", true); // Services.prefs.setBoolPref("devtools.debugger.log.verbose", true); // Enable remote debugging for the relevant tests.
Services.prefs.setBoolPref("devtools.debugger.remote-enabled", true);
// Convert an nsIScriptError 'logLevel' value into an appropriate string. function scriptErrorLogLevel(message) { switch (message.logLevel) { case Ci.nsIConsoleMessage.info: return"info"; case Ci.nsIConsoleMessage.warn: return"warning"; default: Assert.equal(message.logLevel, Ci.nsIConsoleMessage.error); return"error";
}
}
// Register a console listener, so console messages don't just disappear // into the ether. var listener = {
observe(message) {
let string; try {
message.QueryInterface(Ci.nsIScriptError);
dump(
message.sourceName + ":" +
message.lineNumber + ": " +
scriptErrorLogLevel(message) + ": " +
message.errorMessage + "\n"
);
string = message.errorMessage;
} catch (ex) { // Be a little paranoid with message, as the whole goal here is to lose // no information. try {
string = "" + message.message;
} catch (e) {
string = "";
}
}
// Make sure we exit all nested event loops so that the test can finish. while (xpcInspector.eventLoopNestLevel > 0) {
xpcInspector.exitNestedEventLoop();
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.