Back out test changes due to Windows failure. a=bustage

This commit is contained in:
Dan Witte 2010-10-07 17:07:24 -07:00
parent 33cb1a40c8
commit d42bd3da0a

View File

@ -2,28 +2,16 @@
* http://creativecommons.org/publicdomain/zero/1.0/
*/
let test_generator = do_run_test();
function run_test() {
do_test_pending();
test_generator.next();
}
function finish_test() {
do_execute_soon(function() {
test_generator.close();
do_test_finished();
});
}
function do_run_test()
function run_test()
{
// Set up a profile.
let profile = do_get_profile();
var cs = Cc["@mozilla.org/cookieService;1"].getService(Ci.nsICookieService);
var cm = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager2);
var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
// twiddle prefs to convenient values for this test
Services.prefs.setIntPref("network.cookie.purgeAge", 1);
Services.prefs.setIntPref("network.cookie.maxNumber", 1000);
prefs.setIntPref("network.cookie.purgeAge", 1);
prefs.setIntPref("network.cookie.maxNumber", 1000);
// eviction is performed based on two limits: when the total number of cookies
// exceeds maxNumber + 10% (1100), and when cookies are older than purgeAge
@ -33,78 +21,50 @@ function do_run_test()
// we test the following cases of eviction:
// 1) excess and age are satisfied, but only some of the excess are old enough
// to be purged.
force_eviction(1101, 50);
// Fake a profile change, to ensure eviction affects the database correctly.
do_close_profile(test_generator);
yield;
do_load_profile();
do_check_true(check_remaining_cookies(1101, 50, 1051));
do_check_eq(testEviction(cm, 1101, 2, 50, 1051), 1051);
// 2) excess and age are satisfied, and all of the excess are old enough
// to be purged.
force_eviction(1101, 100);
do_close_profile(test_generator);
yield;
do_load_profile();
do_check_true(check_remaining_cookies(1101, 100, 1001));
do_check_eq(testEviction(cm, 1101, 2, 100, 1001), 1001);
// 3) excess and age are satisfied, and more than the excess are old enough
// to be purged.
force_eviction(1101, 500);
do_close_profile(test_generator);
yield;
do_load_profile();
do_check_true(check_remaining_cookies(1101, 500, 1001));
do_check_eq(testEviction(cm, 1101, 2, 500, 1001), 1001);
// 4) excess but not age are satisfied.
force_eviction(2000, 0);
do_close_profile(test_generator);
yield;
do_load_profile();
do_check_true(check_remaining_cookies(2000, 0, 2000));
do_check_eq(testEviction(cm, 2000, 0, 0, 2000), 2000);
// 5) age but not excess are satisfied.
force_eviction(1100, 200);
do_close_profile(test_generator);
yield;
do_load_profile();
do_check_true(check_remaining_cookies(1100, 200, 1100));
do_check_eq(testEviction(cm, 1100, 2, 200, 1100), 1100);
finish_test();
cm.removeAll();
// reset prefs to defaults
prefs.setIntPref("network.cookie.purgeAge", 30 * 24 * 60 * 60);
prefs.setIntPref("network.cookie.maxNumber", 2000);
}
// Set 'aNumberTotal' cookies, ensuring that the first 'aNumberOld' cookies
// will be measurably older than the rest.
// test that cookies are evicted by order of lastAccessed time, if both the limit
// on total cookies (maxNumber + 10%) and the purge age are exceeded
function
force_eviction(aNumberTotal, aNumberOld)
testEviction(aCM, aNumberTotal, aSleepDuration, aNumberOld, aNumberToExpect)
{
Services.cookiemgr.removeAll();
aCM.removeAll();
var expiry = (Date.now() + 1e6) * 1000;
var i;
for (i = 0; i < aNumberTotal; ++i) {
var host = "eviction." + i + ".tests";
Services.cookiemgr.add(host, "", "test", "eviction", false, false, false,
expiry);
aCM.add(host, "", "test", "eviction", false, false, false, expiry);
if (i == aNumberOld - 1) {
// Sleep a while, to make sure the first batch of cookies is older than
// the second (timer resolution varies on different platforms). This
// delay must be measurably greater than the eviction age threshold.
sleep(2000);
if ((i == aNumberOld - 1) && aSleepDuration) {
// sleep a while, to make sure the first batch of cookies is older than
// the second (timer resolution varies on different platforms).
sleep(aSleepDuration * 1000);
}
}
}
// Test that 'aNumberToExpect' cookies remain after purging is complete, and
// that the cookies that remain consist of the set expected given the number of
// of older and newer cookies -- eviction should occur by order of lastAccessed
// time, if both the limit on total cookies (maxNumber + 10%) and the purge age
// are exceeded.
function check_remaining_cookies(aNumberTotal, aNumberOld, aNumberToExpect) {
var enumerator = Services.cookiemgr.enumerator;
var enumerator = aCM.enumerator;
i = 0;
while (enumerator.hasMoreElements()) {
@ -118,7 +78,7 @@ function check_remaining_cookies(aNumberTotal, aNumberOld, aNumberToExpect) {
}
}
return i == aNumberToExpect;
return i;
}
// delay for a number of milliseconds