Chromium Code Reviews| Index: src/processor/exploitability_unittest.cc |
| diff --git a/src/processor/exploitability_unittest.cc b/src/processor/exploitability_unittest.cc |
| index ec845bf025b6b6165764b4912f91512ecb082a76..0b292ec767104d1da955866fd81a91871ead6345 100644 |
| --- a/src/processor/exploitability_unittest.cc |
| +++ b/src/processor/exploitability_unittest.cc |
| @@ -47,9 +47,10 @@ namespace google_breakpad { |
| class ExploitabilityLinuxTest : public ExploitabilityLinux { |
| public: |
| + using ExploitabilityLinux::CalculateAddress; |
| using ExploitabilityLinux::DisassembleBytes; |
| + using ExploitabilityLinux::GetObjdumpInstructionLine; |
| using ExploitabilityLinux::TokenizeObjdumpInstruction; |
| - using ExploitabilityLinux::CalculateAddress; |
| }; |
| class ExploitabilityLinuxTestMinidumpContext : public MinidumpContext { |
| @@ -200,6 +201,29 @@ TEST(ExploitabilityLinuxUtilsTest, DisassembleBytesTest) { |
| ASSERT_EQ(line, " 0:\tc7 00 05 00 00 00 \tmov DWORD PTR [rax],0x5"); |
| } |
| +TEST(ExploitabilityLinuxUtilsTest, GetObjdumpInstructionLine) { |
| + string disassebly = |
| + "\n" |
| + "/tmp/breakpad_mem_region-raw_bytes-tMmMo0: file format binary\n" |
| + "\n" |
| + "\n" |
| + "Disassembly of section .data:\n" |
| + "\n" |
| + "0000000000000000 <.data>:\n" |
| + " 0:\tc7 00 01 00 00 00 \tmov DWORD PTR [rax],0x1\n" |
|
mmandlis
2016/02/16 19:21:16
IIUC, we are after the line starting with 0: that
ivanpe
2016/02/16 19:41:43
Done.
|
| + " 6:\t5d \tpop rbp\n" |
| + " 7:\tc3 \tret \n" |
| + " 8:\t55 \tpush rbp\n" |
| + " 9:\t48 89 e5 \tmov rbp,rsp\n" |
| + " c:\t53 \tpush rbx\n" |
| + " d:\t48 \trex.W\n" |
| + " e:\t81 \t.byte 0x81\n"; |
| + string line; |
| + EXPECT_TRUE(ExploitabilityLinuxTest::GetObjdumpInstructionLine( |
| + disassebly.c_str(), &line)); |
| + EXPECT_EQ(" 0:\tc7 00 01 00 00 00 \tmov DWORD PTR [rax],0x1", line); |
| +} |
| + |
| TEST(ExploitabilityLinuxUtilsTest, TokenizeObjdumpInstructionTest) { |
| ASSERT_FALSE(ExploitabilityLinuxTest::TokenizeObjdumpInstruction("", |
| NULL, |