aboutsummaryrefslogtreecommitdiff
path: root/src/common/linux/linux_libc_support_unittest.cc
diff options
context:
space:
mode:
authordigit@chromium.org <digit@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-08-03 15:01:52 +0000
committerdigit@chromium.org <digit@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-08-03 15:01:52 +0000
commite0555f5bdf389f667ebae19f07e7b3d338fca20b (patch)
tree865cea9365f6ddcb8b0720ad365155bf5661f449 /src/common/linux/linux_libc_support_unittest.cc
parentRemove some linux libc calls from client library. (diff)
downloadbreakpad-e0555f5bdf389f667ebae19f07e7b3d338fca20b.tar.xz
SORRY. It seems I've screwed up my commit for http://breakpad.appspot.com/411002/, since revision 1001 only contains the new src/client/linux/linux_libc_support.cc and none of the other required files.
I'm not sure what happened, but I'm re-uploading the patch has another issue. Review URL: https://breakpad.appspot.com/426002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1002 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/linux/linux_libc_support_unittest.cc')
-rw-r--r--src/common/linux/linux_libc_support_unittest.cc38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/common/linux/linux_libc_support_unittest.cc b/src/common/linux/linux_libc_support_unittest.cc
index 6f4b2da6..7f974af8 100644
--- a/src/common/linux/linux_libc_support_unittest.cc
+++ b/src/common/linux/linux_libc_support_unittest.cc
@@ -129,6 +129,23 @@ TEST(LinuxLibcSupportTest, strchr) {
ASSERT_TRUE(my_strchr("abc", 'a'));
ASSERT_TRUE(my_strchr("bcda", 'a'));
ASSERT_TRUE(my_strchr("sdfasdf", 'a'));
+
+ static const char abc3[] = "abcabcabc";
+ ASSERT_EQ(abc3, my_strchr(abc3, 'a'));
+}
+
+TEST(LinuxLibcSupportTest, strrchr) {
+ ASSERT_EQ(NULL, my_strrchr("abc", 'd'));
+ ASSERT_EQ(NULL, my_strrchr("", 'd'));
+ ASSERT_EQ(NULL, my_strrchr("efghi", 'd'));
+
+ ASSERT_TRUE(my_strrchr("a", 'a'));
+ ASSERT_TRUE(my_strrchr("abc", 'a'));
+ ASSERT_TRUE(my_strrchr("bcda", 'a'));
+ ASSERT_TRUE(my_strrchr("sdfasdf", 'a'));
+
+ static const char abc3[] = "abcabcabc";
+ ASSERT_EQ(abc3 + 6, my_strrchr(abc3, 'a'));
}
TEST(LinuxLibcSupportTest, read_hex_ptr) {
@@ -155,3 +172,24 @@ TEST(LinuxLibcSupportTest, read_hex_ptr) {
ASSERT_EQ(result, 0x123a);
ASSERT_EQ(*last, '-');
}
+
+TEST(LinuxLibcSupportTest, read_decimal_ptr) {
+ uintptr_t result;
+ const char* last;
+
+ last = my_read_decimal_ptr(&result, "0");
+ ASSERT_EQ(result, 0);
+ ASSERT_EQ(*last, 0);
+
+ last = my_read_decimal_ptr(&result, "0123");
+ ASSERT_EQ(result, 123);
+ ASSERT_EQ(*last, 0);
+
+ last = my_read_decimal_ptr(&result, "1234");
+ ASSERT_EQ(result, 1234);
+ ASSERT_EQ(*last, 0);
+
+ last = my_read_decimal_ptr(&result, "01234-");
+ ASSERT_EQ(result, 1234);
+ ASSERT_EQ(*last, '-');
+}