☠☠ backed out by 1530103e032c ☠ ☠ | |
author | Chris H-C <chutten@mozilla.com> |
Mon, 04 Jul 2016 11:17:07 -0400 | |
changeset 313023 | 1678482b2fad73f0aa0c298ae9c41b46b6fd9d1e |
parent 313022 | df28918fe2361f0b54ca9ce4773a29c4c0675d06 |
child 313024 | c68fc5ad5ecff9621aafb4fc889d2374ec5f4121 |
push id | 30669 |
push user | kwierso@gmail.com |
push date | Thu, 08 Sep 2016 00:56:12 +0000 |
treeherder | mozilla-central@77940cbf0c2a [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | gfritzsche |
bugs | 1218576 |
milestone | 51.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
toolkit/components/telemetry/tests/unit/test_ChildHistograms.js | file | annotate | diff | comparison | revisions |
--- a/toolkit/components/telemetry/tests/unit/test_ChildHistograms.js +++ b/toolkit/components/telemetry/tests/unit/test_ChildHistograms.js @@ -1,12 +1,13 @@ Cu.import("resource://gre/modules/TelemetryController.jsm", this); Cu.import("resource://gre/modules/TelemetrySession.jsm", this); Cu.import("resource://gre/modules/PromiseUtils.jsm", this); +Cu.import("resource://testing-common/ContentTaskUtils.jsm", this); const MESSAGE_TELEMETRY_PAYLOAD = "Telemetry:Payload"; const MESSAGE_TELEMETRY_GET_CHILD_PAYLOAD = "Telemetry:GetChildPayload"; const MESSAGE_CHILD_TEST_DONE = "ChildTest:Done"; const PLATFORM_VERSION = "1.9.2"; const APP_VERSION = "1"; const APP_ID = "xpcshell@tests.mozilla.org"; @@ -22,20 +23,16 @@ function run_child_test() { let flagKeyed = Telemetry.getKeyedHistogramById("TELEMETRY_TEST_KEYED_FLAG"); flagKeyed.add("a", 1); flagKeyed.add("b", 1); let countKeyed = Telemetry.getKeyedHistogramById("TELEMETRY_TEST_KEYED_COUNT"); countKeyed.add("a"); countKeyed.add("b"); countKeyed.add("b"); - - // Check payload values. - const payload = TelemetrySession.getPayload("test-ping"); - check_histogram_values(payload); } function check_histogram_values(payload) { const hs = payload.histograms; Assert.ok("TELEMETRY_TEST_COUNT" in hs, "Should have count test histogram."); Assert.ok("TELEMETRY_TEST_FLAG" in hs, "Should have flag test histogram."); Assert.equal(hs["TELEMETRY_TEST_COUNT"].sum, 2, "Count test histogram should have the right value."); @@ -56,18 +53,16 @@ function check_histogram_values(payload) } add_task(function*() { if (!runningInParent) { TelemetryController.testSetupContent(); run_child_test(); dump("... done with child test\n"); do_send_remote_message(MESSAGE_CHILD_TEST_DONE); - dump("... waiting for child payload collection\n"); - yield do_await_remote_message(MESSAGE_TELEMETRY_GET_CHILD_PAYLOAD); return; } // Setup. do_get_profile(true); loadAddonManager(APP_ID, APP_NAME, APP_VERSION, PLATFORM_VERSION); Services.prefs.setBoolPref(PREF_TELEMETRY_ENABLED, true); yield TelemetryController.testSetup(); @@ -75,25 +70,25 @@ add_task(function*() { // Make sure we don't generate unexpected pings due to pref changes. yield setEmptyPrefWatchlist(); } // Run test in child, don't wait for it to finish. let childPromise = run_test_in_child("test_ChildHistograms.js"); yield do_await_remote_message(MESSAGE_CHILD_TEST_DONE); - // Gather payload from child. - dump("... requesting child payloads\n"); - let promiseMessage = do_await_remote_message(MESSAGE_TELEMETRY_PAYLOAD); - TelemetrySession.requestChildPayloads(); - yield promiseMessage; - dump("... received child payload\n"); - - // Check child payload. + yield ContentTaskUtils.waitForCondition(() => { + let payload = TelemetrySession.getPayload("test-ping"); + return payload && + "processes" in payload && + "content" in payload.processes && + "histograms" in payload.processes.content && + "TELEMETRY_TEST_COUNT" in payload.processes.content.histograms; + }); const payload = TelemetrySession.getPayload("test-ping"); - Assert.ok("childPayloads" in payload, "Should have child payloads."); - Assert.equal(payload.childPayloads.length, 1, "Should have received one child payload so far."); - Assert.ok("histograms" in payload.childPayloads[0], "Child payload should have histograms."); - Assert.ok("keyedHistograms" in payload.childPayloads[0], "Child payload should have keyed histograms."); - check_histogram_values(payload.childPayloads[0]); + Assert.ok("processes" in payload, "Should have processes section"); + Assert.ok("content" in payload.processes,"Should have child process section"); + Assert.ok("histograms" in payload.processes.content, "Child process section should have histograms."); + Assert.ok("keyedHistograms" in payload.processes.content, "Child process section should have keyed histograms."); + check_histogram_values(payload.processes.content); do_test_finished(); });