Chromium Code Reviews| Index: chrome/browser/profiles/profile_manager_browsertest.cc |
| diff --git a/chrome/browser/profiles/profile_manager_browsertest.cc b/chrome/browser/profiles/profile_manager_browsertest.cc |
| index 06f06dc2d8fa4b9e2843c2751ce1d1f706ab6001..d49b774848d0c6bd443b8c5859c378b271919c21 100644 |
| --- a/chrome/browser/profiles/profile_manager_browsertest.cc |
| +++ b/chrome/browser/profiles/profile_manager_browsertest.cc |
| @@ -4,6 +4,7 @@ |
| #include <stddef.h> |
| +#include "base/base_switches.h" |
| #include "base/bind.h" |
| #include "base/command_line.h" |
| #include "base/macros.h" |
| @@ -36,6 +37,11 @@ |
| #include "testing/gtest/include/gtest/gtest.h" |
| #endif |
| +#if defined(OS_WIN) |
| +#include <windows.h> |
| +#include "base/test/test_file_util.h" |
| +#endif |
| + |
| namespace { |
| const ProfileManager::CreateCallback kOnProfileSwitchDoNothing; |
| @@ -148,6 +154,7 @@ class ProfileManagerBrowserTest : public InProcessBrowserTest { |
| command_line->AppendSwitch( |
| chromeos::switches::kIgnoreUserProfileMappingForTests); |
| #endif |
| + command_line->AppendSwitch(switches::kNoErrorDialogs); |
| } |
| }; |
| @@ -297,8 +304,7 @@ IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, |
| } |
| } |
| -IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, |
| - SwitchToProfile) { |
| +IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, SwitchToProfile) { |
| // If multiprofile mode is not enabled, you can't switch between profiles. |
| if (!profiles::IsMultipleProfilesEnabled()) |
| return; |
| @@ -352,6 +358,20 @@ IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, |
| EXPECT_EQ(path_profile2, browser_list->get(1)->profile()->GetPath()); |
| } |
| +#if defined(OS_WIN) |
|
Peter Kasting
2016/06/13 04:43:20
It would be nice to be able to run this test on al
WC Leung
2016/06/13 08:06:45
Sadly I don't think that is possible. I've done a
WC Leung
2016/06/15 13:08:39
I mean confirm with the crash logs (I don't have a
|
| +IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, SwitchToProfileFails) { |
| + base::FilePath user_data_dir = |
| + g_browser_process->profile_manager()->user_data_dir(); |
| + base::DenyFilePermission(user_data_dir, FILE_ADD_SUBDIRECTORY); |
| + // Switch to a profile that cannot be loaded or created. This must fail |
| + // gracefully with no crash. |
| + profiles::SwitchToProfile(user_data_dir.AppendASCII("Profile 1"), |
| + false, |
| + kOnProfileSwitchDoNothing, |
| + ProfileMetrics::SWITCH_PROFILE_ICON); |
| +} |
| +#endif // defined(OS_WIN) |
| + |
| // Flakes on Windows: http://crbug.com/314905 |
| #if defined(OS_WIN) |
| #define MAYBE_EphemeralProfile DISABLED_EphemeralProfile |