summaryrefslogtreecommitdiffstats
path: root/toolkit/components/aboutmemory/tests/test_memoryReporters2.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/aboutmemory/tests/test_memoryReporters2.xul')
-rw-r--r--toolkit/components/aboutmemory/tests/test_memoryReporters2.xul108
1 files changed, 0 insertions, 108 deletions
diff --git a/toolkit/components/aboutmemory/tests/test_memoryReporters2.xul b/toolkit/components/aboutmemory/tests/test_memoryReporters2.xul
deleted file mode 100644
index 0e8ba2e81..000000000
--- a/toolkit/components/aboutmemory/tests/test_memoryReporters2.xul
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
- type="text/css"?>
-<window title="Memory reporters with child processes"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-
- <!-- This file tests (in a rough fashion) whether the memory reporters are
- producing sensible results in the presence of child processes. -->
-
- <!-- test results are displayed in the html:body -->
- <body xmlns="http://www.w3.org/1999/xhtml">
- </body>
-
- <!-- test code goes here -->
- <script type="application/javascript"><![CDATA[
-
- const Cc = Components.classes;
- const Ci = Components.interfaces;
-
- SimpleTest.waitForExplicitFinish();
-
- let numRemotes = 3;
- let numReady = 0;
-
- // Create some remote processes, and set up message-passing so that
- // we know when each child is fully initialized.
- let remotes = [];
- SpecialPowers.pushPrefEnv({"set": [["dom.ipc.processCount", 3]]}, function() {
- for (let i = 0; i < numRemotes; i++) {
- let w = remotes[i] = window.open("remote.xul", "", "chrome");
-
- w.addEventListener("load", function loadHandler() {
- w.removeEventListener("load", loadHandler);
- let remoteBrowser = w.document.getElementById("remote");
- let mm = remoteBrowser.messageManager;
- mm.addMessageListener("test:ready", function readyHandler() {
- mm.removeMessageListener("test:ready", readyHandler);
- numReady++;
- if (numReady == numRemotes) {
- // All the remote processes are ready. Do memory reporting.
- doReports();
- }
- });
- mm.loadFrameScript("data:," + encodeURI("sendAsyncMessage('test:ready');"), true);
- });
- }
- });
-
- let mgr = Cc["@mozilla.org/memory-reporter-manager;1"].
- getService(Ci.nsIMemoryReporterManager);
-
- function doReports()
- {
- let residents = {};
-
- let handleReport = function(aProcess, aPath, aKind, aUnits, aAmount, aDesc) {
- if (aPath === "resident") {
- ok(100 * 1000 <= aAmount && aAmount <= 10 * 1000 * 1000 * 1000,
- "resident is reasonable");
- residents[aProcess] = aAmount;
- }
- }
-
- let processReports = function() {
- // First, test a failure case: calling getReports() before the previous
- // getReports() has finished should silently abort. (And the arguments
- // won't be used.)
- mgr.getReports(
- () => ok(false, "handleReport called for nested getReports() call"),
- null, null, null, /* anonymize = */ false
- );
-
- // Close the remote processes.
- for (let i = 0; i < numRemotes; i++) {
- remotes[i].close();
- }
-
- // Check the results.
-
- let processes = Object.keys(residents);
- ok(processes.length == numRemotes + 1, "correct resident count");
-
- let numEmptyProcesses = 0, numNonEmptyProcesses = 0;
- for (let i = 0; i < processes.length; i++) {
- if (processes[i] == "") {
- numEmptyProcesses++;
- } else {
- ok(processes[i].startsWith("Browser (") || processes[i].startsWith("Web Content ("),
- "correct non-empty process name prefix: " + processes[i]);
- numNonEmptyProcesses++;
- }
- }
- ok(numEmptyProcesses == 1, "correct empty process name count");
- ok(numNonEmptyProcesses == numRemotes,
- "correct non-empty process name count");
-
- SimpleTest.finish();
- }
-
- mgr.getReports(handleReport, null, processReports, null,
- /* anonymize = */ false);
- }
-
- ]]></script>
-</window>