tenfourfox/devtools/client/performance/test/browser_perf-refresh.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

54 lines
1.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
requestLongerTimeout(2);
/**
* Rough test that the recording still continues after a refresh.
*/
function* spawnTest() {
let { panel, target } = yield initPerformance(SIMPLE_URL);
let { EVENTS, PerformanceController } = panel.panelWin;
// Enable memory to test all the overview graphs.
// TODO intermittent bug 1157523 is tracking a leak in this test
// disable memory to see if that narrows down the leaking.
// Services.prefs.setBoolPref(MEMORY_PREF, true);
Services.prefs.setBoolPref(MEMORY_PREF, false);
// TODO intermittent bug 1157523 also disable framerate ticks to further narrow it down
Services.prefs.setBoolPref(FRAMERATE_PREF, false);
yield startRecording(panel);
yield reload(target);
let rec = PerformanceController.getCurrentRecording();
let { markers, memory, ticks } = rec.getAllData();
// Store current length of items
let markersLength = markers.length;
let memoryLength = memory.length;
let ticksLength = ticks.length;
ok(rec.isRecording(), "RecordingModel should still be recording after reload");
yield busyWait(100);
yield waitUntil(() => rec.getMarkers().length > markersLength);
// TODO bug 1157523
// yield waitUntil(() => rec.getMemory().length > memoryLength);
// TODO bug 1157523
// yield waitUntil(() => rec.getTicks().length > ticksLength);
ok("Markers, memory and ticks continue after reload");
yield stopRecording(panel);
let { allocations, profile, frames } = rec.getAllData();
// TODO bug 1157523
// ok(allocations, "allocations exist after refresh");
ok(profile, "profile exists after refresh");
// TODO bug 1157523
// ok(frames, "frames exist after refresh");
yield teardown(panel);
finish();
}