[Lldb-commits] [PATCH] D13028: Merge dsym and dwarf test cases

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Tue Sep 22 10:05:32 PDT 2015


I am at CppCon all week.  If you need to get this in before Monday, can you
have Oleksiy or Chaoren test on Windows?  Otherwise I can take a look next
week.

On Tue, Sep 22, 2015 at 9:51 AM Tamas Berghammer <tberghammer at google.com>
wrote:

> tberghammer retitled this revision from "[RFC] Merge dsym and dwarf test
> cases" to "Merge dsym and dwarf test cases".
> tberghammer updated the summary for this revision.
> tberghammer updated this revision to Diff 35378.
> tberghammer added a comment.
>
> Update all tests to use the new dsym/dwarf generation method where
> applicable and do minor cleanups on the tests:
>
> - Inline methods where the number of call sites decreased to 1
> - Remove trivial setUp() methods
> - Fix incorrect skip/xfail markings
>
> At the current stage there are no regression on Linux (x86_64, i386)
> /Android (arm).
>
> On OSX there are 3 new test what are failing after this change because
> beforehand they were running only with dsym and currently the dwarf version
> of them is failing (we haven't tested them before). The list of test cases
> where this issue happens:
>
> - TestHiddenIvars
> - TestObjCIvarStripped
> - TestObjCStaticMethodStripped
>
> Greg: What should I do with these cases? (Should I disable them as they
> shouldn't run with dwarf, should I XFAIL them or should I just let them
> being failed?)
>
> Ed, Zachary: I haven't tested this change on FreeBSD/Windows. I expect no
> regression there but it would be good if you can try it out and let me know
> how it goes.
>
> Further plans with the test suit (based on available resources):
>
> - Add logic to run tests with dwo debug info
> - Possibly implement the suggestion of Zachary about moving the build
> stage into the wrapper function (I am nor sure it will help the readability
> too much)
> - Possibly remove the setUp functions from the test cases where their
> content can be moved to other functions without code duplication (in
> several case it just initialize a line_number variable)
>
>
> http://reviews.llvm.org/D13028
>
> Files:
>   test/arm_emulation/TestEmulations.py
>   test/benchmarks/continue/TestBenchmarkContinue.py
>   test/benchmarks/disassembly/TestDisassembly.py
>   test/benchmarks/disassembly/TestDoAttachThenDisassembly.py
>   test/benchmarks/disassembly/TestXcode41Vs42GDBDisassembly.py
>   test/benchmarks/expression/TestExpressionCmd.py
>   test/benchmarks/expression/TestRepeatedExprs.py
>   test/benchmarks/frame_variable/TestFrameVariableResponse.py
>   test/benchmarks/startup/TestStartupDelays.py
>   test/benchmarks/stepping/TestRunHooksThenSteppings.py
>   test/benchmarks/stepping/TestSteppingSpeed.py
>   test/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py
>   test/driver/batch_mode/TestBatchMode.py
>   test/expression_command/call-function/TestCallStdStringFunction.py
>   test/expression_command/call-function/TestCallStopAndContinue.py
>   test/expression_command/call-function/TestCallUserDefinedFunction.py
>   test/expression_command/call-restarts/TestCallThatRestarts.py
>   test/expression_command/call-throws/TestCallThatThrows.py
>   test/expression_command/char/TestExprsChar.py
>   test/expression_command/expr-in-syscall/TestExpressionInSyscall.py
>   test/expression_command/formatters/TestFormatters.py
>   test/expression_command/issue_11588/Test11588.py
>   test/expression_command/options/TestExprOptions.py
>
> test/expression_command/persist_objc_pointeetype/TestPersistObjCPointeeType.py
>   test/expression_command/persistent_ptr_update/TestPersistentPtrUpdate.py
>   test/expression_command/persistent_types/TestNestedPersistentTypes.py
>   test/expression_command/persistent_types/TestPersistentTypes.py
>   test/expression_command/persistent_variables/TestPersistentVariables.py
>   test/expression_command/po_verbosity/TestPoVerbosity.py
>   test/expression_command/radar_8638051/Test8638051.py
>   test/expression_command/radar_9531204/TestPrintfAfterUp.py
>   test/expression_command/radar_9673664/TestExprHelpExamples.py
>   test/expression_command/test/TestExprs.py
>   test/expression_command/test/TestExprs2.py
>   test/expression_command/timeout/TestCallWithTimeout.py
>
> test/expression_command/two-files/TestObjCTypeQueryFromOtherCompileUnit.py
>   test/functionalities/abbreviation/TestAbbreviations.py
>   test/functionalities/abbreviation/TestCommonShortSpellings.py
>   test/functionalities/archives/TestBSDArchives.py
>   test/functionalities/asan/TestMemoryHistory.py
>   test/functionalities/asan/TestReportData.py
>   test/functionalities/attach_resume/TestAttachResume.py
>   test/functionalities/avoids-fd-leak/TestFdLeak.py
>   test/functionalities/backticks/TestBackticksWithoutATarget.py
>
> test/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
>
> test/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
>
> test/functionalities/breakpoint/breakpoint_command/TestRegexpBreakCommand.py
>
> test/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
>   test/functionalities/breakpoint/breakpoint_ids/TestBreakpointIDs.py
>
> test/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
>
> test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
>
> test/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
>   test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
>
> test/functionalities/breakpoint/consecutive_breakpoins/TestConsecutiveBreakpoints.py
>   test/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
>
> test/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py
>
> test/functionalities/breakpoint/dummy_target_breakpoints/TestBreakpointsWithNoTargets.py
>
> test/functionalities/breakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
>   test/functionalities/breakpoint/objc/TestObjCBreakpoints.py
>   test/functionalities/command_history/TestCommandHistory.py
>   test/functionalities/command_regex/TestCommandRegex.py
>   test/functionalities/command_script/TestCommandScript.py
>   test/functionalities/command_script/import/TestImport.py
>
> test/functionalities/command_script/import/rdar-12586188/TestRdar12586188.py
>   test/functionalities/command_source/TestCommandSource.py
>   test/functionalities/completion/TestCompletion.py
>   test/functionalities/conditional_break/TestConditionalBreak.py
>   test/functionalities/connect_remote/TestConnectRemote.py
>
> test/functionalities/data-formatter/boolreference/TestFormattersBoolRefPtr.py
>   test/functionalities/data-formatter/compactvectors/TestCompactVectors.py
>
> test/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
>
> test/functionalities/data-formatter/data-formatter-categories/TestDataFormatterCategories.py
>
> test/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
>
> test/functionalities/data-formatter/data-formatter-disabling/TestDataFormatterDisabling.py
>
> test/functionalities/data-formatter/data-formatter-enum-format/TestDataFormatterEnumFormat.py
>
> test/functionalities/data-formatter/data-formatter-globals/TestDataFormatterGlobals.py
>
> test/functionalities/data-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
>
> test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjC.py
>
> test/functionalities/data-formatter/data-formatter-objc/nsstring/TestDataFormatterNSString.py
>
> test/functionalities/data-formatter/data-formatter-proper-plurals/TestFormattersOneIsSingular.py
>
> test/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py
>
> test/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
>
> test/functionalities/data-formatter/data-formatter-script/TestDataFormatterScript.py
>
> test/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
>
> test/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
>
> test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
>
> test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
>
> test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
>
> test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
>
> test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
>
> test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
>
> test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
>
> test/functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py
>
> test/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py
>
> test/functionalities/data-formatter/format-propagation/TestFormatPropagation.py
>
> test/functionalities/data-formatter/frameformat_smallstruct/TestFrameFormatSmallStruct.py
>   test/functionalities/data-formatter/hexcaps/TestDataFormatterHexCaps.py
>   test/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
>
> test/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
>   test/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
>
> test/functionalities/data-formatter/ostypeformatting/TestFormattersBoolRefPtr.py
>   test/functionalities/data-formatter/ptr_ref_typedef/TestPtrRef2Typedef.py
>
> test/functionalities/data-formatter/refpointer-recursion/TestDataFormatterRefPtrRecursion.py
>
> test/functionalities/data-formatter/summary-string-onfail/Test-rdar-9974002.py
>   test/functionalities/data-formatter/synthcapping/TestSyntheticCapping.py
>
> test/functionalities/data-formatter/synthupdate/TestSyntheticFilterRecompute.py
>
> test/functionalities/data-formatter/user-format-vs-summary/TestUserFormatVsSummary.py
>
> test/functionalities/data-formatter/var-in-aggregate-misuse/TestVarInAggregateMisuse.py
>
> test/functionalities/data-formatter/varscript_formatting/TestDataFormatterVarScriptFormatting.py
>
> test/functionalities/data-formatter/vector-types/TestVectorTypesFormatting.py
>   test/functionalities/dead-strip/TestDeadStrip.py
>   test/functionalities/disassembly/TestDisassembleBreakpoint.py
>
> test/functionalities/dynamic_value_child_count/TestDynamicValueChildCount.py
>   test/functionalities/embedded_interpreter/TestConvenienceVariables.py
>   test/functionalities/exec/TestExec.py
>   test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
>   test/functionalities/fat_archives/TestFatArchives.py
>   test/functionalities/format/TestFormats.py
>   test/functionalities/inferior-assert/TestInferiorAssert.py
>   test/functionalities/inferior-changed/TestInferiorChanged.py
>   test/functionalities/inferior-crashing/TestInferiorCrashing.py
>
> test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py
>   test/functionalities/inline-stepping/TestInlineStepping.py
>   test/functionalities/jitloader_gdb/TestJITLoaderGDB.py
>   test/functionalities/launch_with_shellexpand/TestLaunchWithShellExpand.py
>   test/functionalities/load_unload/TestLoadUnload.py
>   test/functionalities/longjmp/TestLongjmp.py
>   test/functionalities/memory/read/TestMemoryRead.py
>
> test/functionalities/non-overlapping-index-variable-i/TestIndexVariable.py
>   test/functionalities/nosucharch/TestNoSuchArch.py
>   test/functionalities/object-file/TestImageListMultiArchitecture.py
>   test/functionalities/paths/TestPaths.py
>   test/functionalities/platform/TestPlatformCommand.py
>   test/functionalities/plugins/commands/TestPluginCommands.py
>   test/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
>   test/functionalities/postmortem/minidump/TestMiniDump.py
>   test/functionalities/process_attach/TestProcessAttach.py
>   test/functionalities/process_attach/attach_denied/TestAttachDenied.py
>   test/functionalities/process_group/TestChangeProcessGroup.py
>   test/functionalities/process_launch/TestProcessLaunch.py
>   test/functionalities/recursion/TestValueObjectRecursion.py
>   test/functionalities/register/TestRegisters.py
>   test/functionalities/rerun/TestRerun.py
>   test/functionalities/return-value/TestReturnValue.py
>   test/functionalities/set-data/TestSetData.py
>   test/functionalities/signal/TestSendSignal.py
>   test/functionalities/signal/handle-segv/TestHandleSegv.py
>   test/functionalities/signal/raise/TestRaise.py
>
> test/functionalities/single-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
>   test/functionalities/step-avoids-no-debug/TestStepNoDebug.py
>   test/functionalities/stop-hook/TestStopHookCmd.py
>   test/functionalities/stop-hook/TestStopHookMechanism.py
>
> test/functionalities/stop-hook/multiple_threads/TestStopHookMultipleThreads.py
>   test/functionalities/target_command/TestTargetCommand.py
>   test/functionalities/thread/TestNumThreads.py
>   test/functionalities/thread/break_after_join/TestBreakAfterJoin.py
>   test/functionalities/thread/concurrent_events/TestConcurrentEvents.py
>   test/functionalities/thread/crash_during_step/TestCrashDuringStep.py
>   test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
>   test/functionalities/thread/create_during_step/TestCreateDuringStep.py
>   test/functionalities/thread/exit_during_break/TestExitDuringBreak.py
>   test/functionalities/thread/exit_during_step/TestExitDuringStep.py
>   test/functionalities/thread/jump/TestThreadJump.py
>   test/functionalities/thread/multi_break/TestMultipleBreakpoints.py
>   test/functionalities/thread/state/TestThreadStates.py
>   test/functionalities/thread/step_out/TestThreadStepOut.py
>   test/functionalities/thread/thread_exit/TestThreadExit.py
>
> test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
>   test/functionalities/tty/TestTerminal.py
>   test/functionalities/type_completion/TestTypeCompletion.py
>   test/functionalities/unwind/noreturn/TestNoreturnUnwind.py
>   test/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
>   test/functionalities/value_md5_crash/TestValueMD5Crash.py
>   test/functionalities/watchpoint/hello_watchlocation/TestWatchLocation.py
>   test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
>
> test/functionalities/watchpoint/multiple_threads/TestWatchpointMultipleThreads.py
>
> test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py
>
> test/functionalities/watchpoint/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
>
> test/functionalities/watchpoint/watchpoint_commands/TestWatchpointCommands.py
>
> test/functionalities/watchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
>
> test/functionalities/watchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
>
> test/functionalities/watchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
>   test/functionalities/watchpoint/watchpoint_events/TestWatchpointEvents.py
>
> test/functionalities/watchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
>
> test/functionalities/watchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
>   test/help/TestHelp.py
>   test/lang/c/anonymous/TestAnonymous.py
>   test/lang/c/array_types/TestArrayTypes.py
>   test/lang/c/bitfields/TestBitfields.py
>   test/lang/c/blocks/TestBlocks.py
>   test/lang/c/const_variables/TestConstVariables.py
>   test/lang/c/enum_types/TestEnumTypes.py
>   test/lang/c/forward/TestForwardDeclaration.py
>   test/lang/c/function_types/TestFunctionTypes.py
>   test/lang/c/global_variables/TestGlobalVariables.py
>   test/lang/c/modules/TestCModules.py
>   test/lang/c/register_variables/TestRegisterVariables.py
>   test/lang/c/set_values/TestSetValues.py
>   test/lang/c/shared_lib/TestSharedLib.py
>   test/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
>   test/lang/c/stepping/TestStepAndBreakpoints.py
>   test/lang/c/stepping/TestThreadStepping.py
>   test/lang/c/strings/TestCStrings.py
>   test/lang/c/tls_globals/TestTlsGlobals.py
>   test/lang/cpp/bool/TestCPPBool.py
>   test/lang/cpp/breakpoint-commands/TestCPPBreakpointCommands.py
>   test/lang/cpp/call-function/TestCallCPPFunction.py
>   test/lang/cpp/chained-calls/TestCppChainedCalls.py
>   test/lang/cpp/char1632_t/TestChar1632T.py
>   test/lang/cpp/class_static/TestStaticVariables.py
>   test/lang/cpp/class_types/TestClassTypes.py
>   test/lang/cpp/class_types/TestClassTypesDisassembly.py
>   test/lang/cpp/diamond/TestDiamond.py
>   test/lang/cpp/dynamic-value/TestCppValueCast.py
>   test/lang/cpp/dynamic-value/TestDynamicValue.py
>   test/lang/cpp/enum_types/TestCPP11EnumTypes.py
>   test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
>   test/lang/cpp/global_operators/TestCppGlobalOperators.py
>   test/lang/cpp/namespace/TestNamespace.py
>   test/lang/cpp/nsimport/TestCppNsImport.py
>   test/lang/cpp/overloaded-functions/TestOverloadedFunctions.py
>   test/lang/cpp/rdar12991846/TestRdar12991846.py
>   test/lang/cpp/rvalue-references/TestRvalueReferences.py
>   test/lang/cpp/scope/TestCppScope.py
>   test/lang/cpp/signed_types/TestSignedTypes.py
>   test/lang/cpp/static_members/TestCPPStaticMembers.py
>   test/lang/cpp/static_methods/TestCPPStaticMethods.py
>   test/lang/cpp/stl/TestSTL.py
>   test/lang/cpp/stl/TestStdCXXDisassembly.py
>   test/lang/cpp/this/TestCPPThis.py
>   test/lang/cpp/unique-types/TestUniqueTypes.py
>   test/lang/cpp/unsigned_types/TestUnsignedTypes.py
>   test/lang/cpp/virtual/TestVirtual.py
>   test/lang/cpp/wchar_t/TestCxxWCharT.py
>   test/lang/go/goroutines/TestGoroutines.py
>   test/lang/go/types/TestGoASTContext.py
>   test/lang/mixed/TestMixedLanguages.py
>   test/lang/objc/blocks/TestObjCIvarsInBlocks.py
>   test/lang/objc/forward-decl/TestForwardDecl.py
>   test/lang/objc/foundation/TestConstStrings.py
>   (115 more files...)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150922/80579238/attachment-0001.html>


More information about the lldb-commits mailing list