Chromium Code Reviews| Index: chrome/browser/fast_shutdown_interactive_uitest.cc |
| =================================================================== |
| --- chrome/browser/fast_shutdown_interactive_uitest.cc (revision 96178) |
| +++ chrome/browser/fast_shutdown_interactive_uitest.cc (working copy) |
| @@ -2,8 +2,10 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| +#include "base/bind.h" |
| #include "base/file_path.h" |
| #include "base/stl_util.h" |
| +#include "base/synchronization/waitable_event.h" |
| #include "base/test/test_timeouts.h" |
| #include "base/test/thread_test_helper.h" |
| #include "chrome/app/chrome_command_ids.h" |
| @@ -42,6 +44,14 @@ |
| #define HERE(x) |
| #endif |
|
erikwright (departed)
2011/08/19 18:13:05
This test fails in a racy way due to a failure to
Randy Smith (Not in Mondays)
2011/08/19 21:40:05
Sounds good (I presume this is the test fix you me
erikwright (departed)
2011/09/06 17:34:45
As it turns out, the test could be simplified to n
|
| +void LoadCookiesCallback( |
| + base::WaitableEvent* event, |
| + std::vector<net::CookieMonster::CanonicalCookie*>* cookies, |
| + const std::vector<net::CookieMonster::CanonicalCookie*>& cookies_get) { |
| + *cookies = cookies_get; |
| + event->Signal(); |
| +} |
| + |
| // Loads the cookie store from |user_data_dir|. If the given |cookie| exists, |
| // puts the cookie's value in |cookie_value| and sets |has_cookie| to true. |
| // Sets |has_cookie| to false if the |cookie| wasn't found. |
| @@ -57,7 +67,11 @@ |
| .Append(chrome::kCookieFilename))); |
| HERE(1); |
| std::vector<net::CookieMonster::CanonicalCookie*> cookies; |
| - ASSERT_TRUE(cookie_store->Load(&cookies)); |
| + base::WaitableEvent event(false, false); |
| + ASSERT_TRUE(cookie_store->Load(base::Bind(&LoadCookiesCallback, |
| + base::Unretained(&event), |
| + base::Unretained(&cookies)))); |
| + event.Wait(); |
| HERE(2); |
| *has_cookie = false; |
| for (size_t i = 0; i < cookies.size(); ++i) { |