Histogram location/error when open or write fails
We currently have to infer which methods are probably
causing failures but can't know for sure. This will allow us
to know. It was unblocked by the blink->chromium code move;
leveldatabase needs to include env_chromium.h.
BUG=239880
Review URL: https://chromiumcodereview.appspot.com/16703013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206925 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/third_party/leveldatabase/env_chromium_unittest.cc b/third_party/leveldatabase/env_chromium_unittest.cc
index eae2d6a1..e7b0bbaf 100644
--- a/third_party/leveldatabase/env_chromium_unittest.cc
+++ b/third_party/leveldatabase/env_chromium_unittest.cc
@@ -14,9 +14,10 @@
TEST(ErrorEncoding, OnlyAMethod) {
const MethodID in_method = kSequentialFileRead;
const Status s = MakeIOError("Somefile.txt", "message", in_method);
- int method = -50;
+ MethodID method;
int error = -75;
- EXPECT_TRUE(ParseMethodAndError(s.ToString().c_str(), &method, &error));
+ EXPECT_EQ(METHOD_ONLY,
+ ParseMethodAndError(s.ToString().c_str(), &method, &error));
EXPECT_EQ(in_method, method);
EXPECT_EQ(-75, error);
}
@@ -26,9 +27,10 @@
const base::PlatformFileError pfe =
base::PLATFORM_FILE_ERROR_INVALID_OPERATION;
const Status s = MakeIOError("Somefile.txt", "message", in_method, pfe);
- int method;
+ MethodID method;
int error;
- EXPECT_TRUE(ParseMethodAndError(s.ToString().c_str(), &method, &error));
+ EXPECT_EQ(METHOD_AND_PFE,
+ ParseMethodAndError(s.ToString().c_str(), &method, &error));
EXPECT_EQ(in_method, method);
EXPECT_EQ(pfe, error);
}
@@ -38,19 +40,20 @@
const int some_errno = ENOENT;
const Status s =
MakeIOError("Somefile.txt", "message", in_method, some_errno);
- int method;
+ MethodID method;
int error;
- EXPECT_TRUE(ParseMethodAndError(s.ToString().c_str(), &method, &error));
+ EXPECT_EQ(METHOD_AND_ERRNO,
+ ParseMethodAndError(s.ToString().c_str(), &method, &error));
EXPECT_EQ(in_method, method);
EXPECT_EQ(some_errno, error);
}
TEST(ErrorEncoding, NoEncodedMessage) {
Status s = Status::IOError("Some message", "from leveldb itself");
- int method = 3;
+ MethodID method = kRandomAccessFileRead;
int error = 4;
- EXPECT_FALSE(ParseMethodAndError(s.ToString().c_str(), &method, &error));
- EXPECT_EQ(3, method);
+ EXPECT_EQ(NONE, ParseMethodAndError(s.ToString().c_str(), &method, &error));
+ EXPECT_EQ(kRandomAccessFileRead, method);
EXPECT_EQ(4, error);
}