Fix a regression introduced by r33225.
On windows, if CreateDirectory is called with an path on an
inaccessible drive, it will enter an infinite loop.
BUG=30415
TEST=base_unittests.exe --gtest_filter=FileUtilTest.CreateDirectoryTest
Review URL: http://codereview.chromium.org/500075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34871 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 89b9ae090d3d32dc5462e3c1d15b1a5d67f63e6a
diff --git a/base/file_util_unittest.cc b/base/file_util_unittest.cc
index 0b47b23..200c386 100644
--- a/base/file_util_unittest.cc
+++ b/base/file_util_unittest.cc
@@ -1156,6 +1156,15 @@
EXPECT_TRUE(file_util::CreateDirectory(
FilePath(FilePath::kCurrentDirectory)));
EXPECT_TRUE(file_util::CreateDirectory(top_level));
+
+#if defined(OS_WIN)
+ FilePath invalid_drive(FILE_PATH_LITERAL("o:\\"));
+ FilePath invalid_path =
+ invalid_drive.Append(FILE_PATH_LITERAL("some\\inaccessible\\dir"));
+ if (!file_util::PathExists(invalid_drive)) {
+ EXPECT_FALSE(file_util::CreateDirectory(invalid_path));
+ }
+#endif
}
TEST_F(FileUtilTest, DetectDirectoryTest) {