Bug 966713 - Intermittent test_cookies_read.js times out. r=mcmanus, a=test-only
authorJason Duell <jduell.mcbugs@gmail.com>
Mon, 15 Sep 2014 12:42:00 +0200
changeset 216761 bd8bbb683257
parent 216760 cea1db6ec4ac
child 216762 025117f71163
push id3905
push userryanvm@gmail.com
push date2014-09-17 14:39 +0000
treeherdermozilla-beta@262de5944a01 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmcmanus, test-only
bugs966713
milestone33.0
Bug 966713 - Intermittent test_cookies_read.js times out. r=mcmanus, a=test-only
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();
 }