Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Errors

/* Any copyright is dedicated to the Public Domain.
const TEMP_FILES_TO_CREATE = 5;
const LAST_MODIFICATION_DAY = [5, 10, 15, 20, 25];
const TEST_CURRENT_TIME = Date.now();
const MS_PER_DAY = 86400000;
const RETAIN_DAYS = 14;
async function createfiles() {
for (let i = 0; i < TEMP_FILES_TO_CREATE; i++) {
let setTime = TEST_CURRENT_TIME;
setTime -= LAST_MODIFICATION_DAY[i] * MS_PER_DAY;
let fileName = "places.sqlite" + (i > 0 ? "-" + i : "") + ".corrupt";
let filePath = PathUtils.join(PathUtils.profileDir, fileName);
await IOUtils.writeUTF8(filePath, "test-file-delete-me", {
tmpPath: filePath + ".tmp",
});
Assert.ok(await IOUtils.exists(filePath), "file created: " + filePath);
await IOUtils.setModificationTime(filePath, setTime);
}
}
add_task(async function removefiles() {
await createfiles();
await PlacesDBUtils.runTasks([PlacesDBUtils.removeOldCorruptDBs]);
for (let i = 0; i < TEMP_FILES_TO_CREATE; i++) {
let fileName = "places.sqlite" + (i > 0 ? "-" + i : "") + ".corrupt";
let filePath = PathUtils.join(PathUtils.profileDir, fileName);
if (LAST_MODIFICATION_DAY[i] >= RETAIN_DAYS) {
Assert.ok(
!(await IOUtils.exists(filePath)),
"Old corrupt file has been removed" + filePath
);
} else {
Assert.ok(
await IOUtils.exists(filePath),
"Files that are not old are not removed" + filePath
);
}
}
});