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

Unified Diff: third_party/leveldatabase/env_chromium_unittest.cc

Issue 113373002: Unrevert r245135 "Created new Windows LevelDB environment." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years 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: third_party/leveldatabase/env_chromium_unittest.cc
diff --git a/third_party/leveldatabase/env_chromium_unittest.cc b/third_party/leveldatabase/env_chromium_unittest.cc
index 05669f1be011906d23017f8fd4f204d91e2fce1b..85767e646397c2936616ca734436d712c42552ef 100644
--- a/third_party/leveldatabase/env_chromium_unittest.cc
+++ b/third_party/leveldatabase/env_chromium_unittest.cc
@@ -7,7 +7,10 @@
#include "base/files/file_path.h"
#include "base/files/scoped_temp_dir.h"
#include "base/test/test_suite.h"
-#include "env_chromium.h"
+#if defined(OS_WIN)
+#include "env_chromium_win32.h"
+#endif
+#include "env_chromium_posix.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/env_idb.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
@@ -54,6 +57,21 @@ TEST(ErrorEncoding, Errno) {
EXPECT_EQ(some_errno, error);
}
+#if defined(OS_WIN)
+TEST(ErrorEncoding, ErrnoWin32) {
+ const MethodID in_method = kWritableFileFlush;
+ const DWORD some_errno = ERROR_FILE_NOT_FOUND;
+ const Status s =
+ MakeIOErrorWin32("Somefile.txt", "message", in_method, some_errno);
+ MethodID method;
+ int error;
+ EXPECT_EQ(METHOD_AND_ERRNO,
+ ParseMethodAndError(s.ToString().c_str(), &method, &error));
+ EXPECT_EQ(in_method, method);
+ EXPECT_EQ(some_errno, error);
+}
+#endif
+
TEST(ErrorEncoding, NoEncodedMessage) {
Status s = Status::IOError("Some message", "from leveldb itself");
MethodID method = kRandomAccessFileRead;
@@ -63,23 +81,36 @@ TEST(ErrorEncoding, NoEncodedMessage) {
EXPECT_EQ(4, error);
}
-class MyEnv : public ChromiumEnv {
+class MyEnvDelegate : public ChromiumEnvDelegate {
public:
- MyEnv() : directory_syncs_(0) {}
- int directory_syncs() { return directory_syncs_; }
+ MyEnvDelegate() : directory_syncs_(0) {}
+ int directory_syncs() const { return directory_syncs_; }
- protected:
virtual void DidSyncDir(const std::string& fname) {
++directory_syncs_;
- ChromiumEnv::DidSyncDir(fname);
}
private:
int directory_syncs_;
};
-TEST(ChromiumEnv, DirectorySyncing) {
- MyEnv env;
+template <typename T>
+class ChromiumEnvMultiPlatformTests : public ::testing::Test {
+ public:
+};
+
+#if defined(OS_WIN)
+typedef ::testing::Types<ChromiumEnvPosix, ChromiumEnvWin32> ChromiumEnvMultiPlatformTestsTypes;
+#else
+typedef ::testing::Types<ChromiumEnvPosix> ChromiumEnvMultiPlatformTestsTypes;
+#endif
+TYPED_TEST_CASE(ChromiumEnvMultiPlatformTests, ChromiumEnvMultiPlatformTestsTypes);
+
+TYPED_TEST(ChromiumEnvMultiPlatformTests, DirectorySyncing) {
+ TypeParam env;
+ MyEnvDelegate* delegate(new MyEnvDelegate());
+ env.SetDelegate(delegate);
+
base::ScopedTempDir dir;
dir.CreateUniqueTempDir();
base::FilePath dir_path = dir.path();
@@ -93,9 +124,9 @@ TEST(ChromiumEnv, DirectorySyncing) {
EXPECT_TRUE(s.ok());
scoped_ptr<WritableFile> manifest_file(manifest_file_ptr);
manifest_file->Append(data);
- EXPECT_EQ(0, env.directory_syncs());
+ EXPECT_EQ(0, delegate->directory_syncs());
manifest_file->Append(data);
- EXPECT_EQ(0, env.directory_syncs());
+ EXPECT_EQ(0, delegate->directory_syncs());
std::string sst_file_name =
FilePathToString(dir_path.Append(FILE_PATH_LITERAL("000003.sst")));
@@ -104,12 +135,12 @@ TEST(ChromiumEnv, DirectorySyncing) {
EXPECT_TRUE(s.ok());
scoped_ptr<WritableFile> sst_file(sst_file_ptr);
sst_file->Append(data);
- EXPECT_EQ(0, env.directory_syncs());
+ EXPECT_EQ(0, delegate->directory_syncs());
manifest_file->Append(data);
- EXPECT_EQ(1, env.directory_syncs());
+ EXPECT_EQ(1, delegate->directory_syncs());
manifest_file->Append(data);
- EXPECT_EQ(1, env.directory_syncs());
+ EXPECT_EQ(1, delegate->directory_syncs());
}
int CountFilesWithExtension(const base::FilePath& dir,
@@ -223,4 +254,6 @@ TEST(ChromiumEnv, GetChildrenPriorResults) {
EXPECT_EQ(1, result.size());
}
-int main(int argc, char** argv) { return base::TestSuite(argc, argv).Run(); }
+int main(int argc, char** argv) {
+ return base::TestSuite(argc, argv).Run();
+}

Powered by Google App Engine
This is Rietveld 408576698