Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(353)

Unified Diff: components/filesystem/directory_impl_unittest.cc

Issue 1158253002: mandoline filesystem: Rewrite using base::File. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More cleanup Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/filesystem/directory_impl_unittest.cc
diff --git a/components/filesystem/directory_impl_unittest.cc b/components/filesystem/directory_impl_unittest.cc
index 556d3237f9378fff541c58b3f64bc9c5345d7d37..eb6f81c1140e9446dadc4289fed60579d9961828 100644
--- a/components/filesystem/directory_impl_unittest.cc
+++ b/components/filesystem/directory_impl_unittest.cc
@@ -22,26 +22,25 @@ TEST_F(DirectoryImplTest, Read) {
const char* name;
uint32_t open_flags;
} files_to_create[] = {
- {"my_file1", kOpenFlagRead | kOpenFlagWrite | kOpenFlagCreate},
- {"my_file2", kOpenFlagWrite | kOpenFlagCreate | kOpenFlagExclusive},
- {"my_file3", kOpenFlagWrite | kOpenFlagCreate | kOpenFlagAppend},
- {"my_file4", kOpenFlagWrite | kOpenFlagCreate | kOpenFlagTruncate}};
+ {"my_file1", kFlagRead | kFlagWrite | kFlagCreate},
+ {"my_file2", kFlagWrite | kFlagCreate | kFlagOpenAlways},
+ {"my_file3", kFlagWrite | kFlagCreate | kFlagAppend},
+ {"my_file4", kFlagWrite | kFlagCreate}};
for (size_t i = 0; i < arraysize(files_to_create); i++) {
- error = ERROR_INTERNAL;
+ error = ERROR_FAILED;
directory->OpenFile(files_to_create[i].name, nullptr,
files_to_create[i].open_flags, Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
EXPECT_EQ(ERROR_OK, error);
}
// Make a directory.
- error = ERROR_INTERNAL;
- directory->OpenDirectory("my_dir", nullptr,
- kOpenFlagRead | kOpenFlagWrite | kOpenFlagCreate,
- Capture(&error));
+ error = ERROR_FAILED;
+ directory->OpenDirectory(
+ "my_dir", nullptr, kFlagRead | kFlagWrite | kFlagCreate, Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
EXPECT_EQ(ERROR_OK, error);
- error = ERROR_INTERNAL;
+ error = ERROR_FAILED;
mojo::Array<DirectoryEntryPtr> directory_contents;
directory->Read(Capture(&error, &directory_contents));
ASSERT_TRUE(directory.WaitForIncomingResponse());
@@ -54,8 +53,7 @@ TEST_F(DirectoryImplTest, Read) {
expected_contents["my_file3"] = FILE_TYPE_REGULAR_FILE;
expected_contents["my_file4"] = FILE_TYPE_REGULAR_FILE;
expected_contents["my_dir"] = FILE_TYPE_DIRECTORY;
- expected_contents["."] = FILE_TYPE_DIRECTORY;
- expected_contents[".."] = FILE_TYPE_DIRECTORY;
+ // Note: We don't expose ".." or ".".
EXPECT_EQ(expected_contents.size(), directory_contents.size());
for (size_t i = 0; i < directory_contents.size(); i++) {
@@ -68,79 +66,6 @@ TEST_F(DirectoryImplTest, Read) {
}
}
-// Note: Ignore nanoseconds, since it may not always be supported. We expect at
-// least second-resolution support though.
-// TODO(vtl): Maybe share this with |FileImplTest.StatTouch| ... but then it'd
-// be harder to split this file.
-TEST_F(DirectoryImplTest, StatTouch) {
- DirectoryPtr directory;
- GetTemporaryRoot(&directory);
- Error error;
-
- // Stat it.
- error = ERROR_INTERNAL;
- FileInformationPtr file_info;
- directory->Stat(Capture(&error, &file_info));
- ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_OK, error);
- ASSERT_FALSE(file_info.is_null());
- EXPECT_EQ(FILE_TYPE_DIRECTORY, file_info->type);
- EXPECT_EQ(0, file_info->size);
- ASSERT_FALSE(file_info->atime.is_null());
- EXPECT_GT(file_info->atime->seconds, 0); // Expect that it's not 1970-01-01.
- ASSERT_FALSE(file_info->mtime.is_null());
- EXPECT_GT(file_info->mtime->seconds, 0);
- int64_t first_mtime = file_info->mtime->seconds;
-
- // Touch only the atime.
- error = ERROR_INTERNAL;
- TimespecOrNowPtr t(TimespecOrNow::New());
- t->now = false;
- t->timespec = Timespec::New();
- const int64_t kPartyTime1 = 1234567890; // Party like it's 2009-02-13.
- t->timespec->seconds = kPartyTime1;
- directory->Touch(t.Pass(), nullptr, Capture(&error));
- ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_OK, error);
-
- // Stat again.
- error = ERROR_INTERNAL;
- file_info.reset();
- directory->Stat(Capture(&error, &file_info));
- ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_OK, error);
- ASSERT_FALSE(file_info.is_null());
- ASSERT_FALSE(file_info->atime.is_null());
- EXPECT_EQ(kPartyTime1, file_info->atime->seconds);
- ASSERT_FALSE(file_info->mtime.is_null());
- EXPECT_EQ(first_mtime, file_info->mtime->seconds);
-
- // Touch only the mtime.
- t = TimespecOrNow::New();
- t->now = false;
- t->timespec = Timespec::New();
- const int64_t kPartyTime2 = 1425059525; // No time like the present.
- t->timespec->seconds = kPartyTime2;
- directory->Touch(nullptr, t.Pass(), Capture(&error));
- ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_OK, error);
-
- // Stat again.
- error = ERROR_INTERNAL;
- file_info.reset();
- directory->Stat(Capture(&error, &file_info));
- ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_OK, error);
- ASSERT_FALSE(file_info.is_null());
- ASSERT_FALSE(file_info->atime.is_null());
- EXPECT_EQ(kPartyTime1, file_info->atime->seconds);
- ASSERT_FALSE(file_info->mtime.is_null());
- EXPECT_EQ(kPartyTime2, file_info->mtime->seconds);
-
- // TODO(vtl): Also test Touch() "now" options.
- // TODO(vtl): Also test touching both atime and mtime.
-}
-
// TODO(vtl): Properly test OpenFile() and OpenDirectory() (including flags).
TEST_F(DirectoryImplTest, BasicRenameDelete) {
@@ -149,15 +74,16 @@ TEST_F(DirectoryImplTest, BasicRenameDelete) {
Error error;
// Create my_file.
- error = ERROR_INTERNAL;
- directory->OpenFile("my_file", nullptr, kOpenFlagWrite | kOpenFlagCreate,
+ error = ERROR_FAILED;
+ directory->OpenFile("my_file", nullptr, kFlagWrite | kFlagCreate,
Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
EXPECT_EQ(ERROR_OK, error);
// Opening my_file should succeed.
- error = ERROR_INTERNAL;
- directory->OpenFile("my_file", nullptr, kOpenFlagRead, Capture(&error));
+ error = ERROR_FAILED;
+ directory->OpenFile("my_file", nullptr, kFlagRead | kFlagOpen,
+ Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
EXPECT_EQ(ERROR_OK, error);
@@ -167,14 +93,17 @@ TEST_F(DirectoryImplTest, BasicRenameDelete) {
EXPECT_EQ(ERROR_OK, error);
// Opening my_file should fail.
- error = ERROR_INTERNAL;
- directory->OpenFile("my_file", nullptr, kOpenFlagRead, Capture(&error));
+
+ error = ERROR_FAILED;
+ directory->OpenFile("my_file", nullptr, kFlagRead | kFlagOpen,
+ Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_UNKNOWN, error);
+ EXPECT_EQ(ERROR_FAILED, error);
// Opening my_new_file should succeed.
- error = ERROR_INTERNAL;
- directory->OpenFile("my_new_file", nullptr, kOpenFlagRead, Capture(&error));
+ error = ERROR_FAILED;
+ directory->OpenFile("my_new_file", nullptr, kFlagRead | kFlagOpen,
+ Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
EXPECT_EQ(ERROR_OK, error);
@@ -184,14 +113,13 @@ TEST_F(DirectoryImplTest, BasicRenameDelete) {
EXPECT_EQ(ERROR_OK, error);
// Opening my_new_file should fail.
- error = ERROR_INTERNAL;
- directory->OpenFile("my_new_file", nullptr, kOpenFlagRead, Capture(&error));
+ error = ERROR_FAILED;
+ directory->OpenFile("my_new_file", nullptr, kFlagRead | kFlagOpen,
+ Capture(&error));
ASSERT_TRUE(directory.WaitForIncomingResponse());
- EXPECT_EQ(ERROR_UNKNOWN, error);
+ EXPECT_EQ(ERROR_FAILED, error);
}
-// TODO(vtl): Test that an open file can be moved (by someone else) without
-// operations on it being affected.
// TODO(vtl): Test delete flags.
} // namespace

Powered by Google App Engine
This is Rietveld 408576698