browser/components/sessionstore/test/browser_522375.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/browser/components/sessionstore/test/browser_522375.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,21 @@
     1.4 +function test() {
     1.5 +  var startup_info = Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(Components.interfaces.nsIAppStartup).getStartupInfo();
     1.6 +  // No .process info on mac
     1.7 +
     1.8 +  // Check if we encountered a telemetry error for the the process creation
     1.9 +  // timestamp and turn the first test into a known failure.
    1.10 +  var telemetry = Cc["@mozilla.org/base/telemetry;1"].getService(Ci.nsITelemetry);
    1.11 +  var snapshot = telemetry.getHistogramById("STARTUP_MEASUREMENT_ERRORS")
    1.12 +                          .snapshot();
    1.13 +
    1.14 +  if (snapshot.counts[0] == 0)
    1.15 +    ok(startup_info.process <= startup_info.main, "process created before main is run " + uneval(startup_info));
    1.16 +  else
    1.17 +    todo(false, "An error occurred while recording the process creation timestamp, skipping this test");
    1.18 +
    1.19 +  // on linux firstPaint can happen after everything is loaded (especially with remote X)
    1.20 +  if (startup_info.firstPaint)
    1.21 +    ok(startup_info.main <= startup_info.firstPaint, "main ran before first paint " + uneval(startup_info));
    1.22 +
    1.23 +  ok(startup_info.main < startup_info.sessionRestored, "Session restored after main " + uneval(startup_info));
    1.24 +}

mercurial