diff options
author | Enrico Granata <egranata@apple.com> | 2012-03-01 04:24:26 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2012-03-01 04:24:26 +0000 |
commit | 0c489f58cd948e2493bbb6ffac74a4465d91dba2 (patch) | |
tree | a72c99b56a99700598d853177256285a23479093 /lldb/test/functionalities | |
parent | cd5092dfba302a8b234004bb9c2f54cec9a826a1 (diff) | |
download | bcm5719-llvm-0c489f58cd948e2493bbb6ffac74a4465d91dba2.tar.gz bcm5719-llvm-0c489f58cd948e2493bbb6ffac74a4465d91dba2.zip |
1) solving a bug where, after Jim's fixes to stack frames, synthetic children were not recalculated when necessary, causing them to get out of sync with live data
2) providing an updated list of tagged pointers values for the objc_runtime module - hopefully this one is final
3) changing ValueObject::DumpValueObject to use an Options class instead of providing a bulky list of parameters to pass around
this change had been laid out previously, but some clients of DumpValueObject() were still using the old prototype and some arguments
were treated in a special way and passed in directly instead of through the Options class
4) providing new GetSummaryAsCString() and GetValueAsCString() calls in ValueObject that are passed a formatter object and a destination string
and fill the string by formatting themselves using the formatter argument instead of the default for the current ValueObject
5) removing the option to have formats and summaries stick to a variable for the current stoppoint
after some debate, we are going with non-sticky: if you say frame variable --format hex foo, the hex format will only be applied to the current command execution and not stick when redisplaying foo
the other option would be full stickiness, which means that foo would be formatted as hex for its whole lifetime
we are open to suggestions on what feels "natural" in this regard
llvm-svn: 151801
Diffstat (limited to 'lldb/test/functionalities')
3 files changed, 21 insertions, 14 deletions
diff --git a/lldb/test/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py b/lldb/test/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py index 5eff106a14c..78213c629fc 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py @@ -267,6 +267,10 @@ class CppDataFormatterTestCase(TestBase): self.expect("frame variable the_coolest_guy", matching=False, substrs = ['(i_am_cooler) the_coolest_guy = goofy']) + # check that formats are not sticking since that is the behavior we want + self.expect("frame variable iAmInt --format hex", substrs = ['(int) iAmInt = 0x00000001']) + self.expect("frame variable iAmInt", matching=False, substrs = ['(int) iAmInt = 0x00000001']) + self.expect("frame variable iAmInt", substrs = ['(int) iAmInt = 1']) if __name__ == '__main__': import atexit diff --git a/lldb/test/functionalities/data-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py b/lldb/test/functionalities/data-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py index 9dee06eb2eb..f0576f63f48 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py @@ -64,13 +64,14 @@ class NamedSummariesDataFormatterTestCase(TestBase): self.expect("frame variable first --summary AllUseIt", substrs = ['AllUseIt: x=12']) - # We remember the summary choice... - self.expect("frame variable first", + # We *DO NOT* remember the summary choice anymore + self.expect("frame variable first", matching=False, substrs = ['AllUseIt: x=12']) - + self.expect("frame variable first", + substrs = ['First: x=12']) + self.runCmd("thread step-over") # 2 - # ...but not after a stoppoint self.expect("frame variable first", substrs = ['First: x=12']) @@ -111,17 +112,16 @@ class NamedSummariesDataFormatterTestCase(TestBase): substrs = ['FirstAndFriends: x=12', 'y=34']) - self.expect("frame variable first", - substrs = ['FirstAndFriends: x=12', - 'y=34']) + self.expect("frame variable first", matching=True, + substrs = ['x = 12', + 'y = 34']) self.runCmd("type summary delete FirstAndFriends") self.expect("type summary delete NoSuchSummary", error=True) self.runCmd("type summary delete AllUseIt") - self.expect("frame variable first", - substrs = ['FirstAndFriends: x=12', - 'y=34']) + self.expect("frame variable first", matching=False, + substrs = ['FirstAndFriends']) self.runCmd("thread step-over") # 4 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-script/TestDataFormatterScript.py b/lldb/test/functionalities/data-formatter/data-formatter-script/TestDataFormatterScript.py index 74b6452f4d1..161fcf6427a 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-script/TestDataFormatterScript.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-script/TestDataFormatterScript.py @@ -111,18 +111,21 @@ class ScriptDataFormatterTestCase(TestBase): self.runCmd("type summary add --name test_summary --python-script \"%s\"" % script) # attach the Python named summary to someone - self.runCmd("frame variable one --summary test_summary") - - self.expect("frame variable one", + self.expect("frame variable one --summary test_summary", substrs = ['Python summary']) # should not bind to the type self.expect("frame variable two", matching=False, substrs = ['Python summary']) + # and should not stick to the variable + self.expect("frame variable one",matching=False, + substrs = ['Python summary']) + self.runCmd("type summary add i_am_cool --summary-string \"Text summary\"") - self.expect("frame variable one", + # should be temporary only + self.expect("frame variable one",matching=False, substrs = ['Python summary']) # use the type summary |