Bug 1413989 - include Timer.jsm in MigrationUtils.jsm r=MattN

setTimeout was previously undefined. Created a test specifically
for MigrationUtils, since trying to test this through an actual
Chrome migration path seemed trickier and more fragile.

MozReview-Commit-ID: 33U7ZzzG1CC

--HG--
extra : rebase_source : 0399d9bc768d8eb7451fbb75ec3282f903cdb4ad
This commit is contained in:
Doug Thayer 2017-11-07 15:48:02 -08:00
parent e64d4a4e5f
commit 3e82b6a5bb
3 changed files with 29 additions and 0 deletions

View File

@ -35,6 +35,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "TelemetryStopwatch",
"resource://gre/modules/TelemetryStopwatch.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "WindowsRegistry",
"resource://gre/modules/WindowsRegistry.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "setTimeout",
"resource://gre/modules/Timer.jsm");
var gMigrators = null;
var gProfileStartup = null;

View File

@ -0,0 +1,26 @@
"use strict";
XPCOMUtils.defineLazyModuleGetter(this, "OS",
"resource://gre/modules/osfile.jsm");
let tmpFile = FileUtils.getDir("TmpD", [], true);
let dbConn;
add_task(async function setup() {
tmpFile.append("TestDB");
dbConn = await Sqlite.openConnection({ path: tmpFile.path });
do_register_cleanup(() => {
dbConn.close();
OS.File.remove(tmpFile.path);
});
});
add_task(async function testgetRowsFromDBWithoutLocksRetries() {
let promise = MigrationUtils.getRowsFromDBWithoutLocks(tmpFile.path,
"Temp DB",
"SELECT * FROM moz_temp_table")
await new Promise(resolve => do_timeout(50, resolve));
dbConn.execute("CREATE TABLE moz_temp_table (id INTEGER PRIMARY KEY)");
await promise;
});

View File

@ -23,5 +23,6 @@ skip-if = !(os == "win" && bits == 64) # bug 1392396
skip-if = os != "win"
[test_IE7_passwords.js]
skip-if = os != "win"
[test_MigrationUtils_timedRetry.js]
[test_Safari_bookmarks.js]
skip-if = os != "mac"