[lldb-dev] LLDB Linux x86_64 local target testing summary

Todd Fiala tfiala at google.com
Tue Mar 4 13:56:46 PST 2014


Attaching CSVs for tabular content.

Note the filenames indicate r202726, but the data remained the same up
through the reported r202887.


On Tue, Mar 4, 2014 at 1:51 PM, Todd Fiala <tfiala at google.com> wrote:

> (Yikes - the mailing list archive does not show the tables as "tables"
> visually as I see them in GMail - if the rest of you are seeing those as
> gigantic clumps of text without tables, I can resend with tables attached
> as CSVs).
>
>
> On Tue, Mar 4, 2014 at 1:45 PM, Todd Fiala <tfiala at google.com> wrote:
>
>> Hi all,
>>
>> I just thought I'd send out an update on some work I've been doing to get
>> a handle on how much of Linux x86_64 LLDB is/isn't tested.  I recently went
>> through all the Linux x86_64 local-target tests, turning on previously
>> disabled tests that ran, and marking XFAIL those tests that should work but
>> are consistently failing to make this more useful.
>>
>> A high-level summary of the test run results are as follows, running
>> against lldb TOT r202887:
>>
>> ======
>> TOTALS
>> ======
>> pass:   388 (89.40% of tests run)
>> xfail:   46 (10.60% of tests run)
>> fail:     0 ( 0.00% of tests run)
>>
>> ===========
>> UNSUPPORTED
>> ===========
>> unsupported (total):        480
>> unsupported (Darwin-only):  421 (87.71% of unsupported tests)
>> unsupported (skip linux):    13 ( 2.71% of unsupported tests)
>> unsupported (other):         46 ( 9.58% of unsupported tests)
>>
>>
>> For the expected failures, I then went ahead and took a rough guess as to
>> the underlying area that the expected failure tests were exercising (some
>> of these might be wildly off - they're my best guess for a first pass).  I
>> used this to get a rough idea of which parts of LLDB on Linux x86_64 would
>> be best bang-for-the-buck on investigating and fixing.
>>
>> Here is a summary of the areas where the expected failures were occurring:
>>
>>  System Best GuessCount concurrent17 language features9 exit handling4thread:state
>> 2 thread:stack trace2 dynamic loader2 data formatter2 watch variables1trap
>> 1 register:iteration1 misc:stl1 expressions:function call1expressions:floating point
>> 1 breakpoints1 <unknown> 1 Grand Total 46
>>
>> Here is the raw XFAIL test data that generated the summary above:
>> Test Module Test NameSystem (best guess)
>> TestRdar12991846.Rdar12991846TestCase test_with_dwarf<unknown>
>> TestStepAndBreakpoints.TestCStepping test_with_dwarf_and_python_api
>> breakpoints TestExprDoesntBlock.ExprDoesntDeadlockTestCase
>> test_with_dwarf_and_run_commandconcurrent
>> TestConcurrentEvents.ConcurrentEventsTestCase
>> test_breakpoints_delayed_breakpoint_one_watchpoint_dwarf concurrent
>> TestConcurrentEvents.ConcurrentEventsTestCase
>> test_delay_signal_watch_dwarf concurrent
>> TestConcurrentEvents.ConcurrentEventsTestCasetest_delay_watch_break_dwarf
>> concurrentTestConcurrentEvents.ConcurrentEventsTestCase
>> test_signal_delay_watch_dwarfconcurrentTestConcurrentEvents.ConcurrentEventsTestCase
>> test_signal_watch_break_dwarfconcurrent
>> TestConcurrentEvents.ConcurrentEventsTestCasetest_signal_watch_dwarfconcurrent
>> TestConcurrentEvents.ConcurrentEventsTestCase
>> test_two_breakpoints_one_watchpoint_dwarf concurrent
>> TestConcurrentEvents.ConcurrentEventsTestCasetest_two_watchpoint_threads_dwarf
>> concurrentTestConcurrentEvents.ConcurrentEventsTestCase
>> test_two_watchpoints_one_breakpoint_dwarfconcurrentTestConcurrentEvents.ConcurrentEventsTestCase
>> test_two_watchpoints_one_delay_breakpoint_dwarfconcurrent
>> TestConcurrentEvents.ConcurrentEventsTestCase
>> test_two_watchpoints_one_signal_dwarf concurrent
>> TestConcurrentEvents.ConcurrentEventsTestCasetest_watch_break_dwarf
>> concurrentTestConcurrentEvents.ConcurrentEventsTestCasetest_watch_break_dwarf_delay
>> concurrentTestConcurrentEvents.ConcurrentEventsTestCase
>> test_watchpoint_delay_watchpoint_one_breakpoint_dwarfconcurrentTestConcurrentEvents.ConcurrentEventsTestCase
>> test_watchpoint_with_delay_waychpoint_threads_dwarfconcurrent
>> TestMultithreaded.SBBreakpointCallbackCasetest_breakpoint_callbackconcurrent
>> TestDataFormatterStdVector.StdVectorDataFormatterTestCase
>> test_with_dwarf_and_run_command data formatter
>> TestDataFormatterStdVBool.StdVBoolDataFormatterTestCasetest_with_dwarf_and_run_commanddata
>> formatterTestAnonymous.AnonymousTestCase test_expr_nulllanguage features
>> TestBitfields.BitfieldsTestCase test_with_dwarf_and_python_apilanguage
>> featuresTestBlocks.BlocksTestCase test_expr_with_dwarflanguage features
>> TestNamespace.NamespaceTestCase test_with_dwarf_and_run_commandlanguage
>> featuresTestRvalueReferences.RvalueReferencesTestCase
>> test_with_dwarf_and_run_commandlanguage featuresTestCPPStaticMembers.CPPStaticMembersTestCase
>> test_with_dwarf_and_run_commandlanguage features
>> TestStaticVariables.StaticVariableTestCasetest_with_dwarf_and_run_commandlanguage features
>> TestCPPThis.CPPThisTestCasetest_with_dwarf_and_run_command language
>> featuresTestCppValueCast.CppValueCastTestCase
>> test_value_cast_with_dwarf_and_virtual_inheritance language features
>> TestSharedLib.SharedLibTestCase test_frame_variable_with_dwarfdynamic
>> loaderTestSharedLibStrippedSymbols.SharedLibTestCase
>> test_frame_variable_with_dwarfdynamic loaderTestInferiorAssert.AssertingInferiorTestCase
>> test_inferior_asserting_disassembleexit handling
>> TestRecursiveInferior.CrashingRecursiveInferiorTestCase
>> test_recursive_inferior_crashing_expr_step_and_expr_dwarf exit handling
>> TestInferiorCrashing.CrashingInferiorTestCasetest_inferior_crashing_expr_step_and_expr_dwarfexit
>> handlingTestInferiorCrashing.CrashingInferiorTestCase
>> test_inferior_crashing_step_after_break_dwarfexit handlingTestExprs.BasicExprCommandsTestCase
>> test_floating_point_expr_commandsexpressions:floating point
>> TestCallStdStringFunction.ExprCommandCallFunctionTestCasetest_with_dwarfexpressions:function call
>> TestSTL.STLTestCasetest_with_dwarf misc:stl
>> TestRegistersIterator.RegistersIteratorTestCasetest_iter_registersregister:iteration
>> TestPrintStackTraces.ThreadsStackTracesTestCasetest_stack_traces thread:stack
>> traceTestThreadAPI.ThreadAPITestCasetest_step_out_of_malloc_into_function_b_with_dwarfthread:stack
>> traceTestThreadStates.ThreadStateTestCase
>> test_process_interrupt_with_dwarfthread:stateTestThreadStates.ThreadStateTestCase
>> test_process_state_with_dwarfthread:state
>> TestBuiltinTrap.BuiltinTrapTestCasetest_with_dwarf_and_run_command trap
>> TestWatchedVarHitWhenInScope.WatchedVariableHitWhenInScopeTestCase
>> test_watched_var_should_only_hit_when_in_scope_with_dwarf watch variables
>>
>>
>> Note my test runs were done under the following conditions:
>>
>>    - Host: Ubuntu 12.04 LTS x86_64
>>    - Packages: swig, python-dev, ncurses-dev
>>    - Compiler: hand-built gcc 4.8.2 (required libmpc-dev).
>>    - libstdc++ from gcc 4.8.2
>>    - Libedit (July 2013) from here <http://thrysoee.dk/editline/>.  Note
>>    since we grabbed this the link has moved on to a 2014 cut of libedit.
>>    - Built with cmake/ninja, debug enabled, assertions enabled.
>>    - Run command: 'ninja check-lldb' within the build directory.
>>
>> Observations:
>>
>>    - Concurrent tests (TestConcurrentEvents) seem to expose the "most
>>    broken" area.
>>    - Language features (C/C++) are the next largest group of failures
>>    (could this be related to building with gcc but using clang's AST engine?
>>     Need to investigate deeper since this is the next most broken area).
>>    - There are a set of tests, libc++-based data formatters, that I
>>    don't run because (1) I don't have a working libc++-based solution on
>>    Ubuntu yet.  Those tests are not included above and represents the largest
>>    selection of tests that are currently disabled on local target Linux x86_64
>>    testing.
>>    - The areas that are no functioning seem to be fairly narrow - this
>>    is reasonably good news.
>>    - The test results do not include running a Linux x86_64 host against
>>    a Linux x86_64 remote.  I'll generate a summary for that once I (finally)
>>    get to lldb-gdbserver.
>>
>> Hopefully this is useful info for the following groups of people:
>>
>>    - Those wondering what kind of state LLDB is in on Linux (e.g. how
>>    many tests run successfully on Linux x86_64 vs. OS X).
>>    - Those wondering what areas of Linux could use the most help to make
>>    the product better.
>>
>> Feel free to ping me if you'd like more details on any of this.  I just
>> figured I'd share these results with the list since I've had a few people
>> ask me about areas this data would help answer.
>>  --
>>  Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>
>
>
>
> --
> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>



-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140304/a3b4e10b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: XFAIL Tests - r202726_system_summary.csv
Type: text/csv
Size: 298 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140304/a3b4e10b/attachment.csv>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: XFAIL Tests - r202726_xfail_2014-03-03.csv
Type: text/csv
Size: 4244 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140304/a3b4e10b/attachment-0001.csv>


More information about the lldb-dev mailing list