OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
| 5 #include <stddef.h> |
| 6 #include <stdint.h> |
| 7 |
5 #include "base/debug/proc_maps_linux.h" | 8 #include "base/debug/proc_maps_linux.h" |
6 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/macros.h" |
7 #include "base/path_service.h" | 11 #include "base/path_service.h" |
8 #include "base/strings/stringprintf.h" | 12 #include "base/strings/stringprintf.h" |
9 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" | 13 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" |
10 #include "base/threading/platform_thread.h" | 14 #include "base/threading/platform_thread.h" |
| 15 #include "build/build_config.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
12 | 17 |
13 namespace base { | 18 namespace base { |
14 namespace debug { | 19 namespace debug { |
15 | 20 |
16 TEST(ProcMapsTest, Empty) { | 21 TEST(ProcMapsTest, Empty) { |
17 std::vector<MappedMemoryRegion> regions; | 22 std::vector<MappedMemoryRegion> regions; |
18 EXPECT_TRUE(ParseProcMaps("", ®ions)); | 23 EXPECT_TRUE(ParseProcMaps("", ®ions)); |
19 EXPECT_EQ(0u, regions.size()); | 24 EXPECT_EQ(0u, regions.size()); |
20 } | 25 } |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 | 140 |
136 EXPECT_EQ(0x0060b000u, regions[2].start); | 141 EXPECT_EQ(0x0060b000u, regions[2].start); |
137 EXPECT_EQ(0x0060c000u, regions[2].end); | 142 EXPECT_EQ(0x0060c000u, regions[2].end); |
138 EXPECT_EQ(0x0000b000u, regions[2].offset); | 143 EXPECT_EQ(0x0000b000u, regions[2].offset); |
139 EXPECT_EQ("/bin/cat", regions[2].path); | 144 EXPECT_EQ("/bin/cat", regions[2].path); |
140 } | 145 } |
141 | 146 |
142 TEST(ProcMapsTest, Permissions) { | 147 TEST(ProcMapsTest, Permissions) { |
143 static struct { | 148 static struct { |
144 const char* input; | 149 const char* input; |
145 uint8 permissions; | 150 uint8_t permissions; |
146 } kTestCases[] = { | 151 } kTestCases[] = { |
147 {"00400000-0040b000 ---s 00000000 fc:00 794418 /bin/cat\n", 0}, | 152 {"00400000-0040b000 ---s 00000000 fc:00 794418 /bin/cat\n", 0}, |
148 {"00400000-0040b000 ---S 00000000 fc:00 794418 /bin/cat\n", 0}, | 153 {"00400000-0040b000 ---S 00000000 fc:00 794418 /bin/cat\n", 0}, |
149 {"00400000-0040b000 r--s 00000000 fc:00 794418 /bin/cat\n", | 154 {"00400000-0040b000 r--s 00000000 fc:00 794418 /bin/cat\n", |
150 MappedMemoryRegion::READ}, | 155 MappedMemoryRegion::READ}, |
151 {"00400000-0040b000 -w-s 00000000 fc:00 794418 /bin/cat\n", | 156 {"00400000-0040b000 -w-s 00000000 fc:00 794418 /bin/cat\n", |
152 MappedMemoryRegion::WRITE}, | 157 MappedMemoryRegion::WRITE}, |
153 {"00400000-0040b000 --xs 00000000 fc:00 794418 /bin/cat\n", | 158 {"00400000-0040b000 --xs 00000000 fc:00 794418 /bin/cat\n", |
154 MappedMemoryRegion::EXECUTE}, | 159 MappedMemoryRegion::EXECUTE}, |
155 {"00400000-0040b000 rwxs 00000000 fc:00 794418 /bin/cat\n", | 160 {"00400000-0040b000 rwxs 00000000 fc:00 794418 /bin/cat\n", |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 EXPECT_EQ(5ULL, regions.size()); | 334 EXPECT_EQ(5ULL, regions.size()); |
330 EXPECT_EQ("/bin/cat", regions[0].path); | 335 EXPECT_EQ("/bin/cat", regions[0].path); |
331 EXPECT_EQ("/lib/x86_64-linux-gnu/libc-2.15.so", regions[1].path); | 336 EXPECT_EQ("/lib/x86_64-linux-gnu/libc-2.15.so", regions[1].path); |
332 EXPECT_EQ("/lib/x86_64-linux-gnu/ld-2.15.so", regions[2].path); | 337 EXPECT_EQ("/lib/x86_64-linux-gnu/ld-2.15.so", regions[2].path); |
333 EXPECT_EQ("\"vd so\"", regions[3].path); | 338 EXPECT_EQ("\"vd so\"", regions[3].path); |
334 EXPECT_EQ("[vsys call]", regions[4].path); | 339 EXPECT_EQ("[vsys call]", regions[4].path); |
335 } | 340 } |
336 | 341 |
337 } // namespace debug | 342 } // namespace debug |
338 } // namespace base | 343 } // namespace base |
OLD | NEW |