Commit Graph

733 Commits

Author SHA1 Message Date
Johnny Chen
d0fef81e38 For lldbutil.py, Change a bunch of function names to all lower case formats to be consistent.
And modify the test cases accordingly.

llvm-svn: 130174
2011-04-25 23:38:13 +00:00
Johnny Chen
d369908dac Move two functions around.
llvm-svn: 130158
2011-04-25 22:04:05 +00:00
Johnny Chen
fc87e2dd5c Make SBBreakpointLocation::GetDescription() API to be consistent with SBTarget,
i.e., with 'SBStream &description' first, followed by 'DescriptionLevel level'.

Modify lldbutil.py so that get_description() for a target or breakpoint location
can just take the lldb object itself without specifying an option to mean option
lldb.eDescriptionLevelBrief.  Modify TestTargetAPI.py to exercise this logic path.

llvm-svn: 130147
2011-04-25 20:23:05 +00:00
Johnny Chen
6b2a27c777 Fix test failure for '-A i386'.
llvm-svn: 130134
2011-04-25 18:20:52 +00:00
Johnny Chen
2b14d9b3f6 Update startstr argument of self.expect() to "a.out`sum(int, int)" to respond to recent change.
llvm-svn: 130133
2011-04-25 17:40:47 +00:00
Johnny Chen
9ae982053f Convert the rest of the test suite to use the lldbutil.get_description() utility function.
llvm-svn: 130041
2011-04-23 00:34:56 +00:00
Johnny Chen
90256cdaba Add a simple utility function get_description(lldb_obj, option=None) to lldbutil.py
and use it from TestTargetAPI.py.

llvm-svn: 130038
2011-04-23 00:13:34 +00:00
Jim Ingham
58b59f9522 Fix up how the ValueObjects manage their life cycle so that you can hand out a shared
pointer to a ValueObject or any of its dependent ValueObjects, and the whole cluster will
stay around as long as that shared pointer stays around.

llvm-svn: 130035
2011-04-22 23:53:53 +00:00
Johnny Chen
787f71f269 Add test cases for the SBTarget.GetDescription() API which takes an extra lldb::DescriptionLevel enum.
llvm-svn: 130029
2011-04-22 23:20:17 +00:00
Johnny Chen
ea0d135d37 We are only interested in logging the child's output to sys.stdout.
llvm-svn: 130017
2011-04-22 21:56:22 +00:00
Johnny Chen
35c3ae9639 Fix comment.
llvm-svn: 130016
2011-04-22 21:50:08 +00:00
Johnny Chen
ea76c4f229 Make test_connect_remote() more robust by waiting on the server ready message
before issuing the 'process connect ...' command.

test_comand_regex(): assign the spawned child to self.child so it gets automatically
shutdown during TestBase.tearDown(self).

llvm-svn: 130015
2011-04-22 21:47:07 +00:00
Johnny Chen
a2abf701e2 Fix a typo.
llvm-svn: 130011
2011-04-22 20:40:26 +00:00
Caroline Tice
6a4f755a2b Remove old emulation test data files.
llvm-svn: 129993
2011-04-22 16:29:23 +00:00
Caroline Tice
526f9ad25e Modify to use the new test files.
llvm-svn: 129992
2011-04-22 16:05:13 +00:00
Caroline Tice
8401cdbd0e Reformat the emulation test data files.
llvm-svn: 129991
2011-04-22 16:03:05 +00:00
Johnny Chen
d545d9cbbc Make the test case more robust by installing a teardown hook to kill the inferior
rather than calling "process kill" explicitly at the end of the test.

The test might not even reach the end because it could have failed prematurely.

llvm-svn: 129963
2011-04-22 00:33:09 +00:00
Johnny Chen
13af1b55cd Conditionalize the self.expect("dis -f", ...) test scenario to check on Intel disassembly
only when the test is currently running against the relevant architecture.

llvm-svn: 129960
2011-04-22 00:13:28 +00:00
Johnny Chen
9ee96e7b40 Add a HideStdout() method to our TestBase class and call it from TestAbbreviations.py
and TestAliases.py.  Pass the keyword argument 'check=False' to:

    self.runCmd("script my.date()", check=False)

since we want to restore sys.stdout no matter what the outcome of the runCmd is.

llvm-svn: 129949
2011-04-21 22:50:23 +00:00
Johnny Chen
72c40825dd Hopefully fix the last fallout of 'commands' to 'command' change.
llvm-svn: 129937
2011-04-21 20:55:57 +00:00
Johnny Chen
71aaf75e3d Use self.TraceOn() API.
llvm-svn: 129936
2011-04-21 20:48:32 +00:00
Johnny Chen
ea80ba8b97 Use self.TraceOn() API to decide whether to print debug output.
llvm-svn: 129935
2011-04-21 20:27:45 +00:00
Johnny Chen
b89982d696 Fixed some more 'commands' to 'command' change.
llvm-svn: 129897
2011-04-21 00:39:18 +00:00
Johnny Chen
21b2b7db76 Replace 'commands' with 'command', and update to the latest prompt.
llvm-svn: 129895
2011-04-21 00:05:59 +00:00
Johnny Chen
951e3b5618 Use self.TraceOn() API.
llvm-svn: 129890
2011-04-20 22:59:01 +00:00
Johnny Chen
eab5e08f25 Use self.TraceOn() API.
llvm-svn: 129885
2011-04-20 22:30:17 +00:00
Johnny Chen
f95a869647 Fix wrong comment.
llvm-svn: 129881
2011-04-20 22:13:23 +00:00
Johnny Chen
b21a1b0a4b Use self.TraceOn() API.
llvm-svn: 129880
2011-04-20 22:01:48 +00:00
Johnny Chen
cd8cf861d7 Add a simple test scenario for 'command regex' invocation and subsequent use.
llvm-svn: 129879
2011-04-20 21:51:31 +00:00
Johnny Chen
dbee242518 Add a test scenario for 'source list -b' which shows the line table locations from
the debug information which indicates valid places to set source level breakpoints.

llvm-svn: 129871
2011-04-20 20:35:59 +00:00
Caroline Tice
3ac6711aec Add the infrastructure to test instruction emulations automatically.
The idea is that the instruction to be emulated is actually executed
on the hardware to be emulated, with the before and after state of the
hardware being captured and 'freeze-dried' into .dat files.  The
emulation testing code then loads the before & after state from the
.dat file, emulates the instruction using the before state, and
compares the resulting state to the 'after' state.  If they match, the
emulation is accurate, otherwise there is a problem.

The final format of the .dat files needs a bit more work; the plan is
to generalize them a bit and to convert the plain values to key-value pairs. 
But I wanted to get this first pass committed.

This commit adds arm instruction emulation testing to the testsuite, along with
many initial .dat files.

It also fixes a bug in the llvm disassembler, where 32-bit thumb opcodes
were getting their upper & lower 16-bits reversed.

There is a new Instruction sub-class, that is intended to be loaded
from a .dat file rather than read from an executable.  There is also a
new EmulationStateARM class, for handling the before & after states.
EmulationStates for other architetures can be added later when we
emulate their instructions.

llvm-svn: 129832
2011-04-19 23:30:03 +00:00
Johnny Chen
0b8fd43397 Rename test/threads to python_api/lldbutil; it uses lldbutil functions to print stack traces.
llvm-svn: 129828
2011-04-19 22:44:20 +00:00
Johnny Chen
85866ba033 Use self.TraceOn() API.
llvm-svn: 129827
2011-04-19 22:32:57 +00:00
Greg Clayton
4c20717a8f General cleanup on the UserSettingsController stuff. There were 5 different
places that were dumping values for the settings. Centralized all of the
value dumping into a single place. When dumping values that aren't strings
we no longer surround the value with single quotes. When dumping values that
are strings, surround the string value with double quotes. When dumping array
values, assume they are always string values, and don't put quotes around
dictionary values.

llvm-svn: 129826
2011-04-19 22:32:36 +00:00
Johnny Chen
742668144e Use self.TraceOn() API.
llvm-svn: 129825
2011-04-19 22:11:23 +00:00
Johnny Chen
c1c92a2ab3 Converted to use SBProcess.LaunchSimple().
And use self.TraceOn() API.

llvm-svn: 129797
2011-04-19 20:11:58 +00:00
Johnny Chen
bd9b6e9ffb Converted to use SBProcess.LaunchSimple().
llvm-svn: 129795
2011-04-19 19:54:06 +00:00
Johnny Chen
aedbe0f347 Converted to use SBProcess.LaunchSimple().
llvm-svn: 129793
2011-04-19 19:50:43 +00:00
Johnny Chen
90da3ccadb Use self.TraceOn() API.
llvm-svn: 129792
2011-04-19 19:49:09 +00:00
Johnny Chen
9efcb0ec4d Converted to use SBProcess.LaunchSimple() API.
And use self.TraceOn() in order to print more debug output.

llvm-svn: 129791
2011-04-19 19:44:26 +00:00
Johnny Chen
fbf1cfea12 Converted to use SBProcess.LaunchSimple().
And use self.TraceOn() API.

llvm-svn: 129790
2011-04-19 19:34:41 +00:00
Johnny Chen
272ae4df7c Converted to use SBProcess.LaunchSimple().
llvm-svn: 129789
2011-04-19 19:25:37 +00:00
Johnny Chen
baf11799da Only print more debug out when self.TraceOn() returns True.
llvm-svn: 129788
2011-04-19 19:21:19 +00:00
Johnny Chen
d04cd7b0c4 Converted to use SBProcess.LaunchSimple().
llvm-svn: 129787
2011-04-19 19:14:12 +00:00
Johnny Chen
ff4a08372e Modify docstring.
llvm-svn: 129786
2011-04-19 19:12:24 +00:00
Johnny Chen
f1251cc820 Add a TraceOn(self) method to the base test class, which returns True if we are
currently in trace mode (-t to dotest.py), i.e., tracing the lldb command execution.
Change TestInferiorCrashing.inferior_crashing_python(self) to check this flag in
order to print the stack trace of the inferior thread.

llvm-svn: 129785
2011-04-19 19:04:38 +00:00
Johnny Chen
4a2283a954 Converted to use SBProcess.LaunchSimple().
llvm-svn: 129784
2011-04-19 18:52:56 +00:00
Johnny Chen
9ef4563c2a Converted to use SBProcess.LaunchSimple().
llvm-svn: 129782
2011-04-19 18:50:04 +00:00
Johnny Chen
0fbb74406c Converted to use SBProcess.LaunchSimple().
llvm-svn: 129780
2011-04-19 18:38:30 +00:00
Johnny Chen
822198ef77 Converted to use SBProcess.LaunchSimple().
llvm-svn: 129779
2011-04-19 18:23:28 +00:00