forked from OSchip/llvm-project
Add TestExprs2.py for recent check-ins related to the 'expression' subsystem.
llvm-svn: 131111
This commit is contained in:
parent
9088b06899
commit
339ac4369d
|
@ -0,0 +1,66 @@
|
|||
"""
|
||||
Test some more expression commands.
|
||||
"""
|
||||
|
||||
import os
|
||||
import unittest2
|
||||
import lldb
|
||||
import lldbutil
|
||||
from lldbtest import *
|
||||
|
||||
class ExprCommands2TestCase(TestBase):
|
||||
|
||||
mydir = os.path.join("expression_command", "test")
|
||||
|
||||
def setUp(self):
|
||||
# Call super's setUp().
|
||||
TestBase.setUp(self)
|
||||
# Find the line number to break for main.c.
|
||||
self.line = line_number('main.cpp',
|
||||
'// Please test many expressions while stopped at this line:')
|
||||
|
||||
def test_more_expr_commands(self):
|
||||
"""Test some more expression commands."""
|
||||
self.buildDefault()
|
||||
|
||||
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
|
||||
|
||||
self.expect("breakpoint set -f main.cpp -l %d" % self.line,
|
||||
BREAKPOINT_CREATED,
|
||||
startstr = "Breakpoint created: 1: file ='main.cpp', line = %d" %
|
||||
self.line)
|
||||
|
||||
self.runCmd("run", RUN_SUCCEEDED)
|
||||
|
||||
# Does static casting work?
|
||||
self.expect("expression (int*)argv",
|
||||
startstr = "(int *) $0 = 0x")
|
||||
# (int *) $0 = 0x00007fff5fbff258
|
||||
|
||||
# Do anonymous symbols work?
|
||||
self.expect("expression ((char**)environ)[0]",
|
||||
startstr = "(char *) $1 = 0x")
|
||||
# (char *) $1 = 0x00007fff5fbff298 "Apple_PubSub_Socket_Render=/tmp/launch-7AEsUD/Render"
|
||||
|
||||
# Do return values containing the contents of expression locals work?
|
||||
self.expect("expression int i = 5; i",
|
||||
startstr = "(int) $2 = 5")
|
||||
# (int) $2 = 5
|
||||
self.expect("expression $2 + 1",
|
||||
startstr = "(int) $3 = 6")
|
||||
# (int) $3 = 6
|
||||
|
||||
# Do return values containing the results of static expressions work?
|
||||
self.expect("expression 20 + 3",
|
||||
startstr = "(int) $4 = 23")
|
||||
# (int) $4 = 5
|
||||
self.expect("expression $4 + 1",
|
||||
startstr = "(int) $5 = 24")
|
||||
# (int) $5 = 6
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import atexit
|
||||
lldb.SBDebugger.Initialize()
|
||||
atexit.register(lambda: lldb.SBDebugger.Terminate())
|
||||
unittest2.main()
|
Loading…
Reference in New Issue