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) {