aboutsummaryrefslogtreecommitdiff
path: root/src/common/dwarf_cfi_to_module_unittest.cc
diff options
context:
space:
mode:
authorted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-07-18 18:13:29 +0000
committerted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-07-18 18:13:29 +0000
commit72542b052d410b515bfa9c7a2ee48efef2acfe38 (patch)
treed8598e8b5a6e1dc7f9ffeb10315cb1fe6088bd8a /src/common/dwarf_cfi_to_module_unittest.cc
parentRework dump_symbols.cc using templates and traits classes to handle cross-wor... (diff)
downloadbreakpad-72542b052d410b515bfa9c7a2ee48efef2acfe38.tar.xz
Add some more DWARF ARM register numbers to the DWARF CFI register maps
R=jimb at https://breakpad.appspot.com/418002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@988 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/dwarf_cfi_to_module_unittest.cc')
-rw-r--r--src/common/dwarf_cfi_to_module_unittest.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/common/dwarf_cfi_to_module_unittest.cc b/src/common/dwarf_cfi_to_module_unittest.cc
index bf3cf9ab..807d1b20 100644
--- a/src/common/dwarf_cfi_to_module_unittest.cc
+++ b/src/common/dwarf_cfi_to_module_unittest.cc
@@ -69,6 +69,7 @@ struct DwarfCFIToModuleFixture {
register_names.push_back("reg7");
register_names.push_back("sp");
register_names.push_back("pc");
+ register_names.push_back("");
EXPECT_CALL(reporter, UnnamedRegister(_, _)).Times(0);
EXPECT_CALL(reporter, UndefinedNotSupported(_, _)).Times(0);
@@ -140,6 +141,17 @@ TEST_F(Rule, UndefinedRule) {
EXPECT_EQ(0U, entries[0]->rule_changes.size());
}
+TEST_F(Rule, RegisterWithEmptyName) {
+ EXPECT_CALL(reporter, UnnamedRegister(_, 10));
+ EXPECT_CALL(reporter, UndefinedNotSupported(_, "unnamed_register10"));
+ StartEntry();
+ ASSERT_TRUE(handler.UndefinedRule(entry_address, 10));
+ ASSERT_TRUE(handler.End());
+ CheckEntry();
+ EXPECT_EQ(0U, entries[0]->initial_rules.size());
+ EXPECT_EQ(0U, entries[0]->rule_changes.size());
+}
+
TEST_F(Rule, SameValueRule) {
StartEntry();
ASSERT_TRUE(handler.SameValueRule(entry_address, 6));
@@ -178,17 +190,17 @@ TEST_F(Rule, OffsetRuleNegative) {
TEST_F(Rule, ValOffsetRule) {
// Use an unnamed register number, to exercise that branch of RegisterName.
- EXPECT_CALL(reporter, UnnamedRegister(_, 10));
+ EXPECT_CALL(reporter, UnnamedRegister(_, 11));
StartEntry();
ASSERT_TRUE(handler.ValOffsetRule(entry_address + 0x5ab7,
DwarfCFIToModule::kCFARegister,
- 10, 61812979));
+ 11, 61812979));
ASSERT_TRUE(handler.End());
CheckEntry();
EXPECT_EQ(0U, entries[0]->initial_rules.size());
Module::RuleChangeMap expected_changes;
expected_changes[entry_address + 0x5ab7][".cfa"] =
- "unnamed_register10 61812979 +";
+ "unnamed_register11 61812979 +";
EXPECT_THAT(entries[0]->rule_changes, ContainerEq(expected_changes));
}