diff options
| author | Enrico Granata <egranata@apple.com> | 2013-09-30 20:39:21 +0000 |
|---|---|---|
| committer | Enrico Granata <egranata@apple.com> | 2013-09-30 20:39:21 +0000 |
| commit | eff67bc49ef21552f7be7161573d9047fa08d079 (patch) | |
| tree | d5157263fec47d9939a73b7dd207ed8f3ada20d9 /lldb/test/expression_command | |
| parent | aad5c3b81befe82691b544484923e718512f5216 (diff) | |
| download | bcm5719-llvm-eff67bc49ef21552f7be7161573d9047fa08d079.tar.gz bcm5719-llvm-eff67bc49ef21552f7be7161573d9047fa08d079.zip | |
Test case for the previous checkin
llvm-svn: 191697
Diffstat (limited to 'lldb/test/expression_command')
| -rw-r--r-- | lldb/test/expression_command/po_verbosity/Makefile | 6 | ||||
| -rw-r--r-- | lldb/test/expression_command/po_verbosity/TestPoVerbosity.py | 75 | ||||
| -rw-r--r-- | lldb/test/expression_command/po_verbosity/main.m | 8 |
3 files changed, 89 insertions, 0 deletions
diff --git a/lldb/test/expression_command/po_verbosity/Makefile b/lldb/test/expression_command/po_verbosity/Makefile new file mode 100644 index 00000000000..4464e2ee9f5 --- /dev/null +++ b/lldb/test/expression_command/po_verbosity/Makefile @@ -0,0 +1,6 @@ +LEVEL = ../../make + +OBJC_SOURCES := main.m + +include $(LEVEL)/Makefile.rules +LDFLAGS += -framework Cocoa diff --git a/lldb/test/expression_command/po_verbosity/TestPoVerbosity.py b/lldb/test/expression_command/po_verbosity/TestPoVerbosity.py new file mode 100644 index 00000000000..867d385526e --- /dev/null +++ b/lldb/test/expression_command/po_verbosity/TestPoVerbosity.py @@ -0,0 +1,75 @@ +""" +Test that the po command acts correctly. +""" + +import unittest2 +import lldb +import lldbutil +from lldbtest import * + +class PoVerbosityTestCase(TestBase): + + mydir = os.path.join("expression_command", "po_verbosity") + + def setUp(self): + # Call super's setUp(). + TestBase.setUp(self) + # Find the line number to break for main.cpp. + self.line = line_number('main.m', + '// Stop here') + + @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") + @dsym_test + def test_with_dsym(self): + """Test that the po command acts correctly.""" + self.buildDsym() + self.do_my_test() + + @dwarf_test + def test_with_dwarf(self): + """Test that the po command acts correctly.""" + self.buildDwarf() + self.do_my_test() + + def do_my_test(self): + + # This is the function to remove the custom formats in order to have a + # clean slate for the next test case. + def cleanup(): + self.runCmd('type summary clear', check=False) + self.runCmd('type synthetic clear', check=False) + + # Execute the cleanup function during test case tear down. + self.addTearDownHook(cleanup) + + """Test expr + formatters for good interoperability.""" + self.runCmd("file a.out", CURRENT_EXECUTABLE_SET) + + lldbutil.run_break_set_by_file_and_line (self, "main.m", self.line, loc_exact=True) + + self.runCmd("run", RUN_SUCCEEDED) + + self.expect("expr -O -v -- foo", + substrs = ['(id) $',' = 0x', '1 = 2','2 = 3;']) + self.expect("expr -O -vfull -- foo", + substrs = ['(id) $',' = 0x', '1 = 2','2 = 3;']) + self.expect("expr -O -- foo",matching=False, + substrs = ['(id) $']) + + self.expect("expr -O -- 5",matching=False, + substrs = ['(int) $']) + self.expect("expr -O -- 5", + substrs = ['5']) + + self.expect("expr -O -vfull -- 5", + substrs = ['(int) $', ' = 5']) + + self.expect("expr -O -v -- 5", + substrs = ['(int) $', ' = 5']) + + +if __name__ == '__main__': + import atexit + lldb.SBDebugger.Initialize() + atexit.register(lambda: lldb.SBDebugger.Terminate()) + unittest2.main() diff --git a/lldb/test/expression_command/po_verbosity/main.m b/lldb/test/expression_command/po_verbosity/main.m new file mode 100644 index 00000000000..c293f6b1246 --- /dev/null +++ b/lldb/test/expression_command/po_verbosity/main.m @@ -0,0 +1,8 @@ +#import <Cocoa/Cocoa.h> + +int main() +{ + id foo = @{@1 : @2, @2 : @3}; + int x = 34; + return 0; // Stop here +} |

