mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,53 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
*/
|
||||
/* A testcase to make sure reading the failed profile lock count works. */
|
||||
|
||||
Cu.import("resource://gre/modules/Services.jsm", this);
|
||||
|
||||
const LOCK_FILE_NAME = "Telemetry.FailedProfileLocks.txt";
|
||||
const N_FAILED_LOCKS = 10;
|
||||
|
||||
// Constants from prio.h for nsIFileOutputStream.init
|
||||
const PR_WRONLY = 0x2;
|
||||
const PR_CREATE_FILE = 0x8;
|
||||
const PR_TRUNCATE = 0x20;
|
||||
const RW_OWNER = parseInt("0600", 8);
|
||||
|
||||
function write_string_to_file(file, contents) {
|
||||
let ostream = Cc["@mozilla.org/network/safe-file-output-stream;1"]
|
||||
.createInstance(Ci.nsIFileOutputStream);
|
||||
ostream.init(file, PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE,
|
||||
RW_OWNER, ostream.DEFER_OPEN);
|
||||
ostream.write(contents, contents.length);
|
||||
ostream.QueryInterface(Ci.nsISafeOutputStream).finish();
|
||||
ostream.close();
|
||||
}
|
||||
|
||||
function construct_file() {
|
||||
let profileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile);
|
||||
let file = profileDirectory.clone();
|
||||
file.append(LOCK_FILE_NAME);
|
||||
return file;
|
||||
}
|
||||
|
||||
function run_test() {
|
||||
do_get_profile();
|
||||
|
||||
do_check_eq(Telemetry.failedProfileLockCount, 0);
|
||||
|
||||
write_string_to_file(construct_file(), N_FAILED_LOCKS.toString());
|
||||
|
||||
// Make sure that we're not eagerly reading the count now that the
|
||||
// file exists.
|
||||
do_check_eq(Telemetry.failedProfileLockCount, 0);
|
||||
|
||||
do_test_pending();
|
||||
Telemetry.asyncFetchTelemetryData(actual_test);
|
||||
}
|
||||
|
||||
function actual_test() {
|
||||
do_check_eq(Telemetry.failedProfileLockCount, N_FAILED_LOCKS);
|
||||
do_check_false(construct_file().exists());
|
||||
do_test_finished();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue