- Oct 19, 2010
-
-
Johnny Chen authored
llvm-svn: 116850
-
Johnny Chen authored
Add a little helper function SETTING_MSG(setting) to be used from TestSettings.test_set_output_path(). llvm-svn: 116847
-
Johnny Chen authored
llvm-svn: 116844
-
Johnny Chen authored
Change the environment variable name to be more descriptive from LLDB_TIME_WAIT to LLDB_TIME_WAIT_NEXT_LAUNCH. llvm-svn: 116809
-
Johnny Chen authored
to 'expression' to avoid cases where 'expr' has been unaliased. llvm-svn: 116780
-
Johnny Chen authored
now goes into a timestamp-specific directory instead of the previous .session-* files. [17:24:34] johnny:/Volumes/data/lldb/svn/trunk $ ls -l test/2010-10-18-16:56:12.935342 total 48 -rw-r--r-- 1 johnny admin 1695 Oct 18 16:56 TestArrayTypes.ArrayTypesTestCase.test_with_dsym_and_run_command.log -rw-r--r-- 1 johnny admin 1652 Oct 18 16:56 TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command.log -rw-r--r-- 1 johnny admin 2967 Oct 18 16:56 TestBreakpointCommand.BreakpointCommandTestCase.test_with_dsym.log -rw-r--r-- 1 johnny admin 1648 Oct 18 16:56 TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_run_command.log -rw-r--r-- 1 johnny admin 1665 Oct 18 16:56 TestClassTypesDisassembly.IterateFrameAndDisassembleTestCase.test_with_dsym_and_python_api.log -rw-r--r-- 1 johnny admin 3873 Oct 18 16:58 TestFloatTypesExpr.FloatTypesTestCase.test_float_types_with_dsym.log [17:24:37] johnny:/Volumes/data/lldb/svn/trunk $ Also, the dumping happens when a test errored in additioned to when it failed. llvm-svn: 116778
-
Johnny Chen authored
llvm-svn: 116775
-
Johnny Chen authored
llvm-svn: 116763
-
- Oct 18, 2010
-
-
Johnny Chen authored
llvm-svn: 116748
-
Johnny Chen authored
Also add a more useful assert message for test_set_output_path(), which is currently decorated with @expectedFailure. llvm-svn: 116718
-
Johnny Chen authored
Also change the utility functions in lldbutil.py, too, to correspond to the StateType representation change. llvm-svn: 116706
-
Johnny Chen authored
llvm-svn: 116705
-
- Oct 16, 2010
-
-
Johnny Chen authored
facilitate session recording. This happens inside an instance method where the test instance is well known. llvm-svn: 116649
-
Johnny Chen authored
pass in a 'sender' arg to the buildDefault(), buildDsym(), buildDwarf(), and cleanup() functions. The sender arg will be the test instance itself (i.e., an instance of TestBase). This is so that the relevant command execution can be recorded in the TestBase.session object if sender is available. The lldbtest.system() command has been modified to pop the 'sender' arg out of the keyword arguments dictionary and use it as the test instance to facilitate seesion recordings. An example is in test/types/AbstractBase.py: def generic_type_tester(self, atoms, quotedDisplay=False): """Test that variables with basic types are displayed correctly.""" # First, capture the golden output emitted by the oracle, i.e., the # series of printf statements. go = system("./a.out", sender=self) There are cases when sender is None. This is the case when the @classmethod is involved in the use of these APIs. When this happens, there is no recording into a session object, but printing on the sys.stderr is still honored if the trace flag is ON. An example is in test/settings/TestSettings.py: @classmethod def classCleanup(cls): system(["/bin/sh", "-c", "rm -f output.txt"]) system(["/bin/sh", "-c", "rm -f stdout.txt"]) llvm-svn: 116648
-
Johnny Chen authored
instead of using hard-coded line number. llvm-svn: 116646
-
rdar://problem/8542091Johnny Chen authored
Also change the expected matching pattern of the 'expr -o -- my' output. llvm-svn: 116645
-
Johnny Chen authored
llvm-svn: 116643
-
- Oct 15, 2010
-
-
Johnny Chen authored
llvm-svn: 116621
-
Johnny Chen authored
'breakpoint delete 1' from 'breakpoint delete'. With 'breakpoint delete', the command interpreter was asking for a confirmation from the user, which there isn't any. llvm-svn: 116610
-
Johnny Chen authored
# rdar://problem/8557478 # test/class_types test failures: runCmd: expr this->m_c_int llvm-svn: 116609
-
Johnny Chen authored
breakpoint modify -c 'val == 3' 1 after: breakpoint set -n c which sets a breakpoint on function 'c'. The breakpoint should only stop if expression 'val == 3' evaluates to true. llvm-svn: 116607
-
Johnny Chen authored
the session recordings. llvm-svn: 116596
-
Johnny Chen authored
llvm-svn: 116583
-
Johnny Chen authored
is no need to check the return status of the command execution, and an error status is not deemed a failure in the test. llvm-svn: 116582
-
Johnny Chen authored
llvm-svn: 116559
-
Johnny Chen authored
session info after a test case failure, allowing more direct inspection of debugger session which leads to the test failure. For a simple usage scenario: [18:06:26] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v . 2> ~/Developer/Log/lldbtest.log ... [18:14:43] johnny:/Volumes/data/lldb/svn/trunk/test $ ls -l .session-* -rw-r--r-- 1 johnny admin 1359 Oct 14 18:06 .session-TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command -rw-r--r-- 1 johnny admin 2054 Oct 14 18:07 .session-TestClassTypes.ClassTypesTestCase.test_with_dsym_and_expr_parser -rw-r--r-- 1 johnny admin 2055 Oct 14 18:07 .session-TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_expr_parser -rw-r--r-- 1 johnny admin 1351 Oct 14 17:57 .session-TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_run_command [18:14:51] johnny:/Volumes/data/lldb/svn/trunk/test $ The test case which failed will have its recorded session info dumped to a .session-* file in the current working directory. For test suite using relocated directory, expect to find the .session-* files there. In this checkin, I also add @skip decorator to the two test methods in test/foundation/TestObjCMethods.py as it looks like the test suite is deadlocking when running the tests. More investigations are needed. llvm-svn: 116552
-
Greg Clayton authored
debug information and you evaluated an expression, a crash would occur as a result of an unchecked pointer. Added the ability to get the expression path for a ValueObject. For a rectangle point child "x" the expression path would be something like: "rect.top_left.x". This will allow GUI and command lines to get ahold of the expression path for a value object without having to explicitly know about the hierarchy. This means the ValueObject base class now has a "ValueObject *m_parent;" member. All ValueObject subclasses now correctly track their lineage and are able to provide value expression paths as well. Added a new "--flat" option to the "frame variable" to allow for flat variable output. An example of the current and new outputs: (lldb) frame variable argc = 1 argv = 0x00007fff5fbffe80 pt = { x = 2 y = 3 } rect = { bottom_left = { x = 1 y = 2 } top_right = { x = 3 y = 4 } } (lldb) frame variable --flat argc = 1 argv = 0x00007fff5fbffe80 pt.x = 2 pt.y = 3 rect.bottom_left.x = 1 rect.bottom_left.y = 2 rect.top_right.x = 3 rect.top_right.y = 4 As you can see when there is a lot of hierarchy it can help flatten things out. Also if you want to use a member in an expression, you can copy the text from the "--flat" output and not have to piece it together manually. This can help when you want to use parts of the STL in expressions: (lldb) frame variable --flat argc = 1 argv = 0x00007fff5fbffea8 hello_world._M_dataplus._M_p = 0x0000000000000000 (lldb) expr hello_world._M_dataplus._M_p[0] == '\0' llvm-svn: 116532
-
- Oct 14, 2010
-
-
Johnny Chen authored
llvm-svn: 116490
-
Johnny Chen authored
Inside the lldb module, there's no need (and as a matter of fact, incorrect) to specify the 'lldb' module name. Comment out the call to lldb.SBDebugger.Initialize() within the test driver itself, since it is already done when we import the lldb.py module. llvm-svn: 116485
-
Johnny Chen authored
sending it a signal. llvm-svn: 116481
-
Johnny Chen authored
and 'process handle'. The test suite would like to control the asynch/sync execution of the interpreter during the middle of the test method, so the CommandInterpreter::SetSynchronous(bool value) is modified to allow the mode to be changed more than once. In practice, it would be advisable to control the process and to set the async/sync mode from a single thread, too. llvm-svn: 116467
-
- Oct 13, 2010
-
-
Johnny Chen authored
llvm-svn: 116420
-
Johnny Chen authored
not 'frame variable var'. llvm-svn: 116419
-
Johnny Chen authored
for test_with_dwarf_and_run_command(self). llvm-svn: 116416
-
Greg Clayton authored
artifical members (like the vtable pointer member that shows up in the DWARF). We were adding this to each class which was making all member variables be off by a pointer size. Added a test case so we can track this with "test/forward". Fixed the type name index in DWARF to include all the types after finding some types were being omitted due to the DW_AT_specification having the DW_AT_declaration attribute which was being read into the real type instances when there were forward declarations in the DWARF, causing the type to be omitted. We now check to make sure any DW_AT_declaration values are only respected when parsing types if the attribute is from the current DIE. After fixing the missing types, we ran into some issues with the expression parser finding duplicate entries for __va_list_tag since they are built in types and would result in a "duplicate __va_list_tag definition" error. We are now just ignoring this name during lookup, but we will need to see if we can get the name lookup function to not get called in these cases. Fixed an issue that would cause an assertion where DW_TAG_subroutine_types that had no children, would not properly make a clang function type of: "void (*) (void)". llvm-svn: 116392
-
Johnny Chen authored
function to get the line numbers for breakpoints 1-5 during setUp(). Use a pattern to match the output from both gcc-compiled and clang-compiled binary. This finishes the conversion of the test suite to avoid hardcoded line numbers when setting breakpoints with either the lldb command: breakpoint set -f filename -l lineno or the Python API: target.BreakpointCreateByLocation(filename, lineno) llvm-svn: 116378
-
Johnny Chen authored
function to get the line number to break on during setUp(). Use a pattern to match the output from both gcc-compiled and clang-compiled binary. llvm-svn: 116374
-
Johnny Chen authored
function to get the line number to break on as well as the line number of the first executable statement during setUp(). llvm-svn: 116369
-
Johnny Chen authored
function to get the line number to break on during setUp(). llvm-svn: 116363
-
Johnny Chen authored
debug info which results in the breakpoint locations of 3, instead of 1 (as in gcc). llvm-svn: 116361
-