Bug 966713 - Intermittent test_cookies_read.js times out. r=mcmanus
authorJason Duell <jduell.mcbugs@gmail.com>
Mon, 15 Sep 2014 12:42:00 +0200
changeset 205592 5aaf62c1e40b76099afa1cc6f523cf4316465d08
parent 205591 5e4a2f99574a7caa7c56de6b245ce84cd4573e04
child 205593 c0fcbcc8b789121b97cb693356843cd47969685e
push id27498
push userkwierso@gmail.com
push dateWed, 17 Sep 2014 00:06:56 +0000
treeherdermozilla-central@8252eae8278c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmcmanus
bugs966713
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 966713 - Intermittent test_cookies_read.js times out. r=mcmanus
extensions/cookie/test/unit/test_cookies_read.js
--- a/extensions/cookie/test/unit/test_cookies_read.js
+++ b/extensions/cookie/test/unit/test_cookies_read.js
@@ -1,15 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // test cookie database asynchronous read operation.
 
 let test_generator = do_run_test();
 
+let CMAX = 1000;    // # of cookies to create
+
 function run_test() {
   do_test_pending();
   test_generator.next();
 }
 
 function finish_test() {
   do_execute_soon(function() {
     test_generator.close();
@@ -28,25 +30,25 @@ function do_run_test() {
   Services.cookies;
 
   // Open a database connection now, after synchronous initialization has
   // completed. We may not be able to open one later once asynchronous writing
   // begins.
   do_check_true(do_get_cookie_file(profile).exists());
   let db = new CookieDatabaseConnection(do_get_cookie_file(profile), 4);
 
-  for (let i = 0; i < 3000; ++i) {
+  for (let i = 0; i < CMAX; ++i) {
     let uri = NetUtil.newURI("http://" + i + ".com/");
     Services.cookies.setCookieString(uri, null, "oh=hai; max-age=1000", null);
   }
 
-  do_check_eq(do_count_cookies(), 3000);
+  do_check_eq(do_count_cookies(), CMAX);
 
-  // Wait until all 3000 cookies have been written out to the database.
-  while (do_count_cookies_in_db(db.db) < 3000) {
+  // Wait until all CMAX cookies have been written out to the database.
+  while (do_count_cookies_in_db(db.db) < CMAX) {
     do_execute_soon(function() {
       do_run_generator(test_generator);
     });
     yield;
   }
 
   // Check the WAL file size. We set it to 16 pages of 32k, which means it
   // should be around 500k.
@@ -56,65 +58,65 @@ function do_run_test() {
   db.close();
 
   // fake a profile change
   do_close_profile(test_generator);
   yield;
   do_load_profile();
 
   // test a few random cookies
-  do_check_eq(Services.cookiemgr.countCookiesFromHost("2000.com"), 1);
+  do_check_eq(Services.cookiemgr.countCookiesFromHost("999.com"), 1);
   do_check_eq(Services.cookiemgr.countCookiesFromHost("abc.com"), 0);
   do_check_eq(Services.cookiemgr.countCookiesFromHost("100.com"), 1);
-  do_check_eq(Services.cookiemgr.countCookiesFromHost("1400.com"), 1);
+  do_check_eq(Services.cookiemgr.countCookiesFromHost("400.com"), 1);
   do_check_eq(Services.cookiemgr.countCookiesFromHost("xyz.com"), 0);
 
   // force synchronous load of everything
-  do_check_eq(do_count_cookies(), 3000);
+  do_check_eq(do_count_cookies(), CMAX);
 
   // check that everything's precisely correct
-  for (let i = 0; i < 3000; ++i) {
+  for (let i = 0; i < CMAX; ++i) {
     let host = i.toString() + ".com";
     do_check_eq(Services.cookiemgr.countCookiesFromHost(host), 1);
   }
 
   // reload again, to make sure the additions were written correctly
   do_close_profile(test_generator);
   yield;
   do_load_profile();
 
   // remove some of the cookies, in both reverse and forward order
   for (let i = 100; i-- > 0; ) {
     let host = i.toString() + ".com";
     Services.cookiemgr.remove(host, "oh", "/", false);
   }
-  for (let i = 2900; i < 3000; ++i) {
+  for (let i = CMAX - 100; i < CMAX; ++i) {
     let host = i.toString() + ".com";
     Services.cookiemgr.remove(host, "oh", "/", false);
   }
 
   // check the count
-  do_check_eq(do_count_cookies(), 2800);
+  do_check_eq(do_count_cookies(), CMAX - 200);
 
   // reload again, to make sure the removals were written correctly
   do_close_profile(test_generator);
   yield;
   do_load_profile();
 
   // check the count
-  do_check_eq(do_count_cookies(), 2800);
+  do_check_eq(do_count_cookies(), CMAX - 200);
 
   // reload again, but wait for async read completion
   do_close_profile(test_generator);
   yield;
   do_load_profile(test_generator);
   yield;
 
   // check that everything's precisely correct
-  do_check_eq(do_count_cookies(), 2800);
-  for (let i = 100; i < 2900; ++i) {
+  do_check_eq(do_count_cookies(), CMAX - 200);
+  for (let i = 100; i < CMAX - 100; ++i) {
     let host = i.toString() + ".com";
     do_check_eq(Services.cookiemgr.countCookiesFromHost(host), 1);
   }
 
   finish_test();
 }