[lldb-dev] Running LLDB tests

Warren.Paul at nokia.com Warren.Paul at nokia.com
Fri Jan 28 14:30:32 PST 2011


I had done the first part of code-signing.txt, up to "The next steps are
necessary on SnowLeopard".  The rest sounded like a workaround for an OS
bug, and I have 10.6.5, so I figured I see if I could build LLDB without
it.  I can, and I can debug it as well, so I assume that means I don't
need the steps from "The next steps are necessary on SnowLeopard"?

I looked through a few of the failure logs and it looks like lldb is
failing to launch the process.  I can have it launch a process when I run
lldb from the command line, so perhaps the test script is finding a
different lldb?  I've only build the debug version, so I'm hoping
dotest.py is finding it at ./../build/Debug/?

My Python version is Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49).

Any ideas?

Thanks,
Warren

-------------

runCmd: pro la
output: 

Expecting pattern: Process .* launched:
Not matched

FAIL

Traceback (most recent call last):
  File 
"/Users/warrenpaul/Dev/lldb/lldb/test/abbreviation_tests/TestAbbreviations.
py", line 66, in test_with_dsym
    self.running_abbreviations ()
  File 
"/Users/warrenpaul/Dev/lldb/lldb/test/abbreviation_tests/TestAbbreviations.
py", line 112, in running_abbreviations
    patterns = [ "Process .* launched: "])
  File "/Users/warrenpaul/Dev/lldb/lldb/test/lldbtest.py", line 804, in
expect
    msg if msg else EXP_MSG(str, exe))
AssertionError: False is not True : 'pro la' returns expected result





On 1/28/11 1:18 PM, "ext Greg Clayton" <gclayton at apple.com> wrote:

>Are you running these on MacOSX?
>If so, did you follow the instructions in "lldb/docs/code-signing.txt"?
>
>You will need to generate your own code signing certificate and then
>debug a program at least once since the first time you used this code
>signing certificate a dialog will pop up asking for permission where you
>will have to enter your username/password. After this you should be able
>to debug.
>
>So to fix this, make sure you can debug something:
>./lldb /bin/ls
>(lldb) run
>
>...
>
>If this works, then the test suite should run for you.
>
>Greg Clayton
>
>On Jan 28, 2011, at 10:37 AM, Warren.Paul at nokia.com wrote:
>
>> I've been playing around with LLDB and trying to get it to load some
>>symbol files generated by the toolchains we support.  So far so good,
>>but I need to start doing more lookups, etc. and would like to script
>>these tests.  I thought I'd start with the LLDB tests and build up from
>>there.  But when I run the tests I get mostly failures followed by a
>>crash.  :(  Am I running them incorrectly, or missing some steps, Š ??
>>Any help would be greatly appreciated.  Also, I haven't seen any logging
>>in the Dwarf reader yet but have hit a few asserts.  Any tips for having
>>my test scripts report anything the debugger doesn't like or expect in
>>the Dwarf?
>> 
>> Thanks,
>> Warren
>> 
>> Here's the output of the tests:
>> 
>> ./dotest.py -v
>> 
>> Session logs for test failures/errors will go into directory
>>'2011-01-28-12_17_51'
>> ----------------------------------------------------------------------
>> Collected 178 tests
>> 
>>   1: test_nonrunning_command_abbreviations
>>(TestAbbreviations.AbbreviationsTestCase) ...
>> 
>>     Hello!
>> 
>> ok
>>   2: test_with_dsym (TestAbbreviations.AbbreviationsTestCase) ... FAIL
>>   3: test_with_dwarf (TestAbbreviations.AbbreviationsTestCase) ... FAIL
>>   4: test_with_dsym (TestAliases.AliasTestCase) ...
>> 
>> 
>> Whoopee!
>> 
>> 
>> 
>> 
>>     hello
>> 
>> 
>>     hello
>> 
>> FAIL
>>   5: test_with_dwarf (TestAliases.AliasTestCase) ...
>> 
>> 
>> Whoopee!
>> 
>> 
>> 
>> 
>>     hello
>> 
>> 
>>     hello
>> 
>> FAIL
>>   6: test_with_dsym_and_python_api (TestArrayTypes.ArrayTypesTestCase)
>>      Use Python APIs to inspect variables with array types. ... FAIL
>>   7: test_with_dsym_and_run_command (TestArrayTypes.ArrayTypesTestCase)
>>      Test 'frame variable var_name' on some variables with array types.
>>... FAIL
>>   8: test_with_dwarf_and_python_api (TestArrayTypes.ArrayTypesTestCase)
>>      Use Python APIs to inspect variables with array types. ... FAIL
>>   9: test_with_dwarf_and_run_command (TestArrayTypes.ArrayTypesTestCase)
>>      Test 'frame variable var_name' on some variables with array types.
>>... FAIL
>>  10: test_with_dsym_and_python_api (TestBitfields.BitfieldsTestCase)
>>      Use Python APIs to inspect a bitfields variable. ... FAIL
>>  11: test_with_dsym_and_run_command (TestBitfields.BitfieldsTestCase)
>>      Test 'frame variable ...' on a variable with bitfields. ... FAIL
>>  12: test_with_dwarf_and_python_api (TestBitfields.BitfieldsTestCase)
>>      Use Python APIs to inspect a bitfields variable. ... FAIL
>>  13: test_with_dwarf_and_run_command (TestBitfields.BitfieldsTestCase)
>>      Test 'frame variable ...' on a variable with bitfields. ... FAIL
>>  14: test_with_dsym (TestBreakpointCommand.BreakpointCommandTestCase)
>>      Test a sequence of breakpoint command add, list, and remove. ...
>>FAIL
>>  15: test_with_dwarf (TestBreakpointCommand.BreakpointCommandTestCase)
>>      Test a sequence of breakpoint command add, list, and remove. ...
>>FAIL
>>  16: test_with_dsym_and_python_api
>>(TestBreakpointConditions.BreakpointConditionsTestCase)
>>      Use Python APIs to set breakpoint conditions. ... FAIL
>>  17: test_with_dsym_and_run_command
>>(TestBreakpointConditions.BreakpointConditionsTestCase)
>>      Exercise breakpoint condition with 'breakpoint modify -c <expr>
>>id'. ... FAIL
>>  18: test_with_dwarf_and_python_api
>>(TestBreakpointConditions.BreakpointConditionsTestCase)
>>      Use Python APIs to set breakpoint conditions. ... FAIL
>>  19: test_with_dwarf_and_run_command
>>(TestBreakpointConditions.BreakpointConditionsTestCase)
>>      Exercise breakpoint condition with 'breakpoint modify -c <expr>
>>id'. ... FAIL
>>  20: test_with_dsym_and_python_api
>>(TestBreakpointIgnoreCount.BreakpointIgnoreCountTestCase)
>>      Use Python APIs to set breakpoint ignore count. ... FAIL
>>  21: test_with_dsym_and_run_command
>>(TestBreakpointIgnoreCount.BreakpointIgnoreCountTestCase)
>>      Exercise breakpoint ignore count with 'breakpoint set -i <count>'.
>>... FAIL
>>  22: test_with_dwarf_and_python_api
>>(TestBreakpointIgnoreCount.BreakpointIgnoreCountTestCase)
>>      Use Python APIs to set breakpoint ignore count. ... FAIL
>>  23: test_with_dwarf_and_run_command
>>(TestBreakpointIgnoreCount.BreakpointIgnoreCountTestCase)
>>      Exercise breakpoint ignore count with 'breakpoint set -i <count>'.
>>... FAIL
>>  24: test_with_dsym
>>(TestBreakpointLocations.BreakpointLocationsTestCase)
>>      Test breakpoint enable/disable for a breakpoint ID with multiple
>>locations. ... FAIL
>>  25: test_with_dwarf
>>(TestBreakpointLocations.BreakpointLocationsTestCase)
>>      Test breakpoint enable/disable for a breakpoint ID with multiple
>>locations. ... FAIL
>>  26: test_with_dsym_and_python_api
>>(TestStaticVariables.StaticVariableTestCase)
>>      Test Python APIs on file and class static variables. ... FAIL
>>  27: test_with_dsym_and_run_command
>>(TestStaticVariables.StaticVariableTestCase)
>>      Test that file and class static variables display correctly. ...
>>FAIL
>>  28: test_with_dwarf_and_python_api
>>(TestStaticVariables.StaticVariableTestCase)
>>      Test Python APIs on file and class static variables. ... FAIL
>>  29: test_with_dwarf_and_run_command
>>(TestStaticVariables.StaticVariableTestCase)
>>      Test that file and class static variables display correctly. ...
>>FAIL
>>  30: test_with_dsym_and_expr_parser (TestClassTypes.ClassTypesTestCase)
>>      Test 'frame variable this' and 'expr this' when stopped inside a
>>constructor. ... FAIL
>>  31: test_with_dsym_and_python_api (TestClassTypes.ClassTypesTestCase)
>>      Use Python APIs to create a breakpoint by (filespec, line). ...
>>FAIL
>>  32: test_with_dsym_and_run_command (TestClassTypes.ClassTypesTestCase)
>>      Test 'frame variable this' when stopped on a class constructor.
>>... FAIL
>>  33: test_with_dwarf_and_expr_parser (TestClassTypes.ClassTypesTestCase)
>>      Test 'frame variable this' and 'expr this' when stopped inside a
>>constructor. ... FAIL
>>  34: test_with_dwarf_and_python_api (TestClassTypes.ClassTypesTestCase)
>>      Use Python APIs to create a breakpoint by (filespec, line). ...
>>FAIL
>>  35: test_with_dwarf_and_run_command (TestClassTypes.ClassTypesTestCase)
>>      Test 'frame variable this' when stopped on a class constructor.
>>... FAIL
>>  36: test_with_dsym_and_python_api
>>(TestClassTypesDisassembly.IterateFrameAndDisassembleTestCase)
>>      Disassemble each call frame when stopped on C's constructor. ...
>>FAIL
>>  37: test_with_dsym_and_run_command
>>(TestClassTypesDisassembly.IterateFrameAndDisassembleTestCase)
>>      Disassemble each call frame when stopped on C's constructor. ...
>>FAIL
>>  38: test_with_dwarf_and_python_api
>>(TestClassTypesDisassembly.IterateFrameAndDisassembleTestCase)
>>      Disassemble each call frame when stopped on C's constructor. ...
>>FAIL
>>  39: test_with_dwarf_and_run_command
>>(TestClassTypesDisassembly.IterateFrameAndDisassembleTestCase)
>>      Disassemble each call frame when stopped on C's constructor. ...
>>FAIL
>>  40: test_command_source (TestCommandSource.CommandSourceTestCase)
>>      Test that lldb command "command source" works correctly. ...
>>2011-01-28
>> ok
>>  41: test_with_dsym_command
>>(TestConditionalBreak.ConditionalBreakTestCase)
>>      Simulate a user using lldb commands to break on c() if called from
>>a(). ... FAIL
>>  42: test_with_dsym_python
>>(TestConditionalBreak.ConditionalBreakTestCase)
>>      Exercise some thread and frame APIs to break if c() is called by
>>a(). ... FAIL
>>  43: test_with_dwarf_command
>>(TestConditionalBreak.ConditionalBreakTestCase)
>>      Simulate a user using lldb commands to break on c() if called from
>>a(). ... FAIL
>>  44: test_with_dwarf_python
>>(TestConditionalBreak.ConditionalBreakTestCase)
>>      Exercise some thread and frame APIs to break if c() is called by
>>a(). ... FAIL
>>  45: test_with_dsym (TestDeadStrip.DeadStripTestCase)
>>      Test breakpoint works correctly with dead-code stripping. ... FAIL
>>  46: test_with_dwarf (TestDeadStrip.DeadStripTestCase)
>>      Test breakpoint works correctly with dead-code stripping. ... FAIL
>>  47: test_with_dsym (TestEnumTypes.EnumTypesTestCase)
>>      Test 'image lookup -t days' and check for correct display. ... FAIL
>>  48: test_with_dwarf (TestEnumTypes.EnumTypesTestCase)
>>      Test 'image lookup -t days' and check for correct display. ... FAIL
>>  49: test_choice (TestSequenceFunctions.SequenceFunctionsTestCase) ...
>>ok
>>  50: test_sample (TestSequenceFunctions.SequenceFunctionsTestCase) ...
>>ok
>>  51: test_shuffle (TestSequenceFunctions.SequenceFunctionsTestCase) ...
>>ok
>>  52: test_persistent_variables
>>(TestPersistentVariables.PersistentVariablesTestCase)
>>      Test that lldb persistent variables works correctly. ... FAIL
>>  53: test_expr_commands (Test8638051.Radar8638051TestCase)
>>      The following expression commands should not crash. ... FAIL
>>  54: test_evaluate_expression_python
>>(TestExprs.BasicExprCommandsTestCase)
>>      Test SBFrame.EvaluateExpression() API for evaluating an
>>expression. ... FAIL
>>  55: test_expr_commands_can_handle_quotes
>>(TestExprs.BasicExprCommandsTestCase)
>>      Throw some expression commands with quotes at lldb. ... Stack dump:
>> 0.    <eof> parser at end of file
>> 1.    Parse:2:1: Generating code for declaration
>>'$__lldb_valid_pointer_check'
>> Segmentation fault
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>





More information about the lldb-dev mailing list