Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 63 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -303,14 +303,33 @@ jobs:
name: android-${{ matrix.abi }}-ds2
path: ${{ github.workspace }}/BinaryCache/ds2.tar

linux-lldb:
runs-on: ubuntu-latest
build-lldb-linux:
name: Build LLDB
runs-on: ${{ matrix.runner }}

strategy:
fail-fast: false
matrix:
runner: [ubuntu-latest, ubuntu-24.04-arm]

steps:
- uses: seanmiddleditch/gha-setup-ninja@v5
- if: ${{ !contains(matrix.runner, 'arm') }}
uses: seanmiddleditch/gha-setup-ninja@v5

- if: contains(matrix.runner, 'arm')
uses: seanmiddleditch/gha-setup-ninja@v5
with:
# TODO(andrurogerz): seanmiddleditch/gha-setup-ninja does not properly
# detect Linux on arm64 and always installs the x86_64 ninja package.
# For now, we can fix this by overriding the platform string to force
# the downloading the proper package. We also require a newer ninja
# version since aarch64 packages were not released until v1.12.0 and
# the default gha-setup-ninja installs is v1.11.1.
platform: linux-aarch64
version: 1.12.1 # latest sccache version

- name: Setup sccache
uses: hendrikmuhs/ccache-action@2e0e89e8d74340a03f75d58d02aae4c5ee1b15c6
uses: hendrikmuhs/ccache-action@433beb5b585c67c13415f39d5ba7e485b1920710
with:
key: llvm-${{ runner.os }}-${{ runner.arch }}
variant: sccache
Expand All @@ -328,7 +347,7 @@ jobs:
cmake -B ${{ github.workspace }}/BinaryCache/llvm \
-S ${{ github.workspace }}/SourceCache/llvm/llvm \
-D LLVM_ENABLE_PROJECTS='clang;lldb' \
-D LLVM_TARGETS_TO_BUILD="X86" \
-D LLVM_TARGETS_TO_BUILD="host" \
-D LLDB_ENABLE_PYTHON=On \
-D CMAKE_C_COMPILER_LAUNCHER=sccache \
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache \
Expand All @@ -351,8 +370,8 @@ jobs:
path: ${{ github.workspace }}/BinaryCache/llvm.tar

test-linux:
needs: [linux, linux-lldb]
runs-on: ubuntu-latest
needs: [linux, build-lldb-linux]
runs-on: ${{ matrix.runner }}

name: Test Linux ${{ matrix.arch }} ${{ matrix.test-category }}

Expand All @@ -361,6 +380,7 @@ jobs:
matrix:
include:
- test-category: misc
runner: ubuntu-latest
arch: i686
test-subdirs: >-
SourceCache/llvm/lldb/test/API/api
Expand All @@ -369,8 +389,8 @@ jobs:
SourceCache/llvm/lldb/test/API/tools
SourceCache/llvm/lldb/test/API/sanity
SourceCache/llvm/lldb/test/API/types

- test-category: misc
runner: ubuntu-latest
arch: x86_64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/api
Expand All @@ -379,39 +399,68 @@ jobs:
SourceCache/llvm/lldb/test/API/tools
SourceCache/llvm/lldb/test/API/sanity
SourceCache/llvm/lldb/test/API/types
- test-category: misc
runner: ubuntu-24.04-arm
arch: aarch64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/api
SourceCache/llvm/lldb/test/API/lang
SourceCache/llvm/lldb/test/API/linux
SourceCache/llvm/lldb/test/API/tools
SourceCache/llvm/lldb/test/API/sanity
SourceCache/llvm/lldb/test/API/types

- test-category: commands
runner: ubuntu-latest
arch: x86_64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/commands

- test-category: commands
runner: ubuntu-latest
arch: i686
test-subdirs: >-
SourceCache/llvm/lldb/test/API/commands
- test-category: commands
runner: ubuntu-24.04-arm
arch: aarch64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/commands

- test-category: Python API
runner: ubuntu-latest
arch: x86_64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/python_api

- test-category: Python API
runner: ubuntu-latest
arch: i686
test-subdirs: >-
SourceCache/llvm/lldb/test/API/python_api
- test-category: Python API
runner: ubuntu-24.04-arm
arch: aarch64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/python_api

- test-category: functionalities
runner: ubuntu-latest
arch: x86_64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/functionalities

- test-category: functionalities
runner: ubuntu-latest
arch: i686
test-subdirs: >-
SourceCache/llvm/lldb/test/API/functionalities
- test-category: functionalities
runner: ubuntu-24.04-arm
arch: aarch64
test-subdirs: >-
SourceCache/llvm/lldb/test/API/functionalities

steps:
- run: |
- if: matrix.arch == 'i686'
run: |
sudo apt-get update
sudo apt-get install -qq --no-install-recommends gcc-multilib g++-multilib

Expand Down Expand Up @@ -457,8 +506,8 @@ jobs:
--excluded ${{ github.workspace }}/SourceCache/ds2/Support/Testing/Excluded/upstream/non-debugserver-tests.excluded \
${{ matrix.test-subdirs }}

test-android:
needs: [android-windows-ndk, linux-lldb]
test-android-x86:
needs: [android-windows-ndk, build-lldb-linux]
runs-on: ubuntu-latest

strategy:
Expand Down
168 changes: 168 additions & 0 deletions Support/Testing/Excluded/ds2/linux-aarch64.excluded
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
skip
TestAArch64LinuxNonAddressBitCodeBreak.AArch64LinuxNonAddressBitCodeBreak.test_hardware_break
TestAArch64LinuxNonAddressBitCodeBreak.AArch64LinuxNonAddressBitCodeBreak.test_software_break
TestAArch64LinuxNonAddressBitMemoryAccess.AArch64LinuxNonAddressBitMemoryAccessTestCase.test_non_address_bit_memory_read_write_api_process
TestAArch64LinuxNonAddressBitMemoryAccess.AArch64LinuxNonAddressBitMemoryAccessTestCase.test_non_address_bit_memory_read_write_api_target
TestAArch64LinuxNonAddressBitMemoryAccess.AArch64LinuxNonAddressBitMemoryAccessTestCase.test_non_address_bit_memory_read_write_cmds
TestAArch64LinuxTLSRegisters.AArch64LinuxTLSRegisters.test_tls_no_sme
TestAArch64LinuxTLSRegisters.AArch64LinuxTLSRegisters.test_tpidr2_no_sme
TestAArch64LinuxTaggedMemoryRegion.AArch64LinuxTaggedMemoryRegionTestCase.test_mte_regions
TestAArch64UnwindPAC.AArch64UnwindPAC.test_dwarf
TestAArch64UnwindPAC.AArch64UnwindPAC.test_dwo
TestBreakpointSerialization.BreakpointSerialization.test_scripted_extra_args
TestCompletion.CommandLineCompletionTestCase.test_common_complete_watchpoint_ids
TestConcurrentBreakpointsDelayedBreakpointOneWatchpoint.ConcurrentBreakpointsDelayedBreakpointOneWatchpoint.test
TestConcurrentCrashWithWatchpoint.ConcurrentCrashWithWatchpoint.test
TestConcurrentCrashWithWatchpointBreakpointSignal.ConcurrentCrashWithWatchpointBreakpointSignal.test
TestConcurrentDelaySignalWatch.ConcurrentDelaySignalWatch.test
TestConcurrentDelayWatchBreak.ConcurrentDelayWatchBreak.test
TestConcurrentDelayedCrashWithBreakpointWatchpoint.ConcurrentDelayedCrashWithBreakpointWatchpoint.test
TestConcurrentNWatchNBreak.ConcurrentNWatchNBreak.test
TestConcurrentSignalDelayWatch.ConcurrentSignalDelayWatch.test
TestConcurrentSignalNWatchNBreak.ConcurrentSignalNWatchNBreak.test
TestConcurrentSignalWatch.ConcurrentSignalWatch.test
TestConcurrentSignalWatchBreak.ConcurrentSignalWatchBreak.test
TestConcurrentTwoBreakpointsOneSignal.ConcurrentTwoBreakpointsOneSignal.test
TestConcurrentTwoBreakpointsOneWatchpoint.ConcurrentTwoBreakpointsOneWatchpoint.test
TestConcurrentTwoWatchpointThreads.ConcurrentTwoWatchpointThreads.test
TestConcurrentTwoWatchpointsOneBreakpoint.ConcurrentTwoWatchpointsOneBreakpoint.test
TestConcurrentTwoWatchpointsOneDelayBreakpoint.ConcurrentTwoWatchpointsOneDelayBreakpoint.test
TestConcurrentTwoWatchpointsOneSignal.ConcurrentTwoWatchpointsOneSignal.test
TestConcurrentWatchBreak.ConcurrentWatchBreak.test
TestConcurrentWatchBreakDelay.ConcurrentWatchBreakDelay.test
TestConcurrentWatchpointDelayWatchpointOneBreakpoint.ConcurrentWatchpointDelayWatchpointOneBreakpoint.test
TestConcurrentWatchpointWithDelayWatchpointThreads.ConcurrentWatchpointWithDelayWatchpointThreads.test
TestContainerCommands.TestCmdContainer.test_container_add
TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwarf
TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwo
TestDataFormatterPythonSynth.PythonSynthDataFormatterTestCase.test_with_run_command_dwarf
TestDataFormatterPythonSynth.PythonSynthDataFormatterTestCase.test_with_run_command_dwo
TestDataFormatterSynthType.DataFormatterSynthTypeTestCase.test_with_run_command_dwarf
TestDataFormatterSynthType.DataFormatterSynthTypeTestCase.test_with_run_command_dwo
TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwarf
TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwo
TestDebuggerAPI.DebuggerAPITestCase.test_CreateTarget_platform
TestDetachResumes.DetachResumesTestCase.test_detach_resumes
TestDyldExecLinux.TestLinux64ExecViaDynamicLoader.test_with_svr4
TestDyldExecLinux.TestLinux64ExecViaDynamicLoader.test_without_svr4
TestDyldLaunchLinux.TestLinux64LaunchingViaDynamicLoader.test
TestExec.ExecTestCase.test_correct_thread_plan_state_before_exec
TestExec.ExecTestCase.test_hitting_exec
TestExec.ExecTestCase.test_skipping_exec
TestFixIts.ExprCommandWithFixits.test_with_dummy_target_dwarf
TestFixIts.ExprCommandWithFixits.test_with_dummy_target_dwo
TestFrames.FrameAPITestCase.test_get_arg_vals_for_call_stack_dwarf
TestFrames.FrameAPITestCase.test_get_arg_vals_for_call_stack_dwo
TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_attach_with_vAttachWait_llgs
TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_launch_after_attach_with_vAttachOrWait_llgs
TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_launch_before_attach_with_vAttachOrWait_llgs
TestGdbRemoteExpeditedRegisters.TestGdbRemoteExpeditedRegisters.test_stop_notification_contains_vg_register_llgs
TestGdbRemoteMemoryAllocation.TestGdbRemoteMemoryAllocation.test_bad_packet_llgs
TestGdbRemoteModuleInfo.TestGdbRemoteModuleInfo.test_module_info_llgs
TestGdbRemoteTargetXmlPacket.TestGdbRemoteTargetXmlPacket.test_g_target_xml_returns_correct_data_llgs
TestGdbRemoteThreadsInStopReply.TestGdbRemoteThreadsInStopReply.test_stop_reply_contains_thread_pcs_llgs
TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_id_api
TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_name_api
TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwarf
TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwo
TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_another_pid_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_minus_one_pid_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_zero_pid_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_switches_to_3_threads_launch_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_attach_commandline_continue_app_exits_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_hardware_breakpoint_set_and_remove_work_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_fork_events_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_siginfo_read_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_vfork_events_llgs
TestLldbGdbServer.LldbGdbServerTestCase.test_qXfer_siginfo_read_llgs
TestLoadUnload.LoadUnloadTestCase.test_static_init_during_load
TestMachCore.MachCoreTestCase.test_selected_thread
TestMainThreadExit.ThreadExitTestCase.test
TestMembersAndLocalsWithSameName.TestMembersAndLocalsWithSameName.test_when_stopped_in_function_dwarf
TestMembersAndLocalsWithSameName.TestMembersAndLocalsWithSameName.test_when_stopped_in_function_dwo
TestMemoryHoles.MemoryHolesTestCase.test_memory_find
TestModifyWatchpoint.ModifyWatchpointTestCase.test_modify_watchpoint
TestModuleCacheSimple.ModuleCacheTestcaseSimple.test
TestModuleCacheUniversal.ModuleCacheTestcaseUniversal.test
TestMyFirstWatchpoint.HelloWatchpointTestCase.test_hello_watchpoint_using_watchpoint_set
TestNonStop.LldbGdbServerTestCase.test_exit_llgs
TestNonStop.LldbGdbServerTestCase.test_exit_query_llgs
TestNonStop.LldbGdbServerTestCase.test_leave_nonstop_llgs
TestNonStop.LldbGdbServerTestCase.test_multiple_C_continue_with_signal_llgs
TestNonStop.LldbGdbServerTestCase.test_multiple_c_continue_with_addr_llgs
TestNonStop.LldbGdbServerTestCase.test_multiple_s_single_step_with_addr_llgs
TestNonStop.LldbGdbServerTestCase.test_multiple_vCont_llgs
TestNonStop.LldbGdbServerTestCase.test_run_llgs
TestNonStop.LldbGdbServerTestCase.test_stdio_llgs
TestNonStop.LldbGdbServerTestCase.test_stop_reason_while_running_llgs
TestNonStop.LldbGdbServerTestCase.test_vCont_then_partial_stop_llgs
TestNonStop.LldbGdbServerTestCase.test_vCont_then_partial_stop_run_both_llgs
TestNonStop.LldbGdbServerTestCase.test_vCont_then_stop_llgs
TestNonStop.LldbGdbServerTestCase.test_vCtrlC_llgs
TestOSPluginStepping.TestOSPluginStepping.test_python_os_plugin
TestOSPluginStepping.TestOSPluginStepping.test_python_os_plugin_prune
TestPythonOSPlugin.PluginPythonOSPlugin.test_python_os_plugin
TestRegisters.RegisterCommandsTestCase.test_info_register
TestRegisters.RegisterCommandsTestCase.test_register_read_fields
TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwarf
TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwo
TestReturnValue.ReturnValueTestCase.test_vector_values_dwarf
TestReturnValue.ReturnValueTestCase.test_vector_values_dwo
TestReturnValue.ReturnValueTestCase.test_with_python_dwarf
TestReturnValue.ReturnValueTestCase.test_with_python_dwo
TestSVERegisters.RegisterCommandsTestCase.test_registers_expr_read_write_sve_sve
TestSVERegisters.RegisterCommandsTestCase.test_sve_registers_configuration
TestSVESIMDRegisters.SVESIMDRegistersTestCase.test_simd_registers_simd
TestSVESIMDRegisters.SVESIMDRegistersTestCase.test_simd_registers_sve
TestSVEThreadedDynamic.RegisterCommandsTestCase.test_sve_registers_dynamic_config
TestScriptedResolver.TestScriptedResolver.test_command_line
TestScriptedResolver.TestScriptedResolver.test_scripted_resolver
TestScriptedResolver.TestScriptedResolver.test_search_depths
TestSendSignal.SendSignalTestCase.test_with_run_command_dwarf
TestSendSignal.SendSignalTestCase.test_with_run_command_dwo
TestSetWatchlocation.SetWatchlocationAPITestCase.test_watch_location
TestSetWatchpoint.SetWatchpointAPITestCase.test_watch_val
TestSetWatchpoint.SetWatchpointAPITestCase.test_watch_variable
TestSettings.SettingsCommandTestCase.test_launchsimple_args_and_env_vars
TestSettings.SettingsCommandTestCase.test_run_args_and_env_vars
TestStepAndBreakpoints.TestCStepping.test_and_python_api_dwarf
TestStepAndBreakpoints.TestCStepping.test_and_python_api_dwo
TestStepOverWatchpoint.TestStepOverWatchpoint.test_step_over_read_watchpoint
TestStepOverWatchpoint.TestStepOverWatchpoint.test_step_over_write_watchpoint
TestSyntheticCapping.SyntheticCappingTestCase.test_with_run_command_dwarf
TestTargetWatchAddress.TargetWatchpointCreateByAddressPITestCase.test_watch_address
TestTargetWatchAddress.TargetWatchpointCreateByAddressPITestCase.test_watch_address_with_invalid_watch_size
TestThreadJump.ThreadJumpTestCase.test_dwarf
TestThreadJump.ThreadJumpTestCase.test_dwo
TestThreadSelectionBug.TestThreadSelectionBug.test
TestUnalignedLargeWatchpoint.UnalignedLargeWatchpointTestCase.test_unaligned_large_watchpoint
TestValueOfVectorVariable.TestValueOfVectorVariableTestCase.test_value_of_vector_variable_using_watchpoint_set
TestVectorTypesFormatting.VectorTypesFormattingTestCase.test_with_run_command_dwarf
TestVectorTypesFormatting.VectorTypesFormattingTestCase.test_with_run_command_dwo
TestWatchLocation.HelloWatchLocationTestCase.test_hello_watchlocation
TestWatchTaggedAddress.TestWatchTaggedAddresses.test_watch_hit_tagged_ptr_access
TestWatchTaggedAddress.TestWatchTaggedAddresses.test_watch_set_on_tagged_ptr
TestWatchpointCommandLLDB.WatchpointLLDBCommandTestCase.test_watchpoint_command
TestWatchpointCommandLLDB.WatchpointLLDBCommandTestCase.test_watchpoint_command_can_disable_a_watchpoint
TestWatchpointCommandPython.WatchpointPythonCommandTestCase.test_continue_in_watchpoint_command
TestWatchpointCommandPython.WatchpointPythonCommandTestCase.test_watchpoint_command
TestWatchpointCommands.WatchpointCommandsTestCase.test_rw_disable_after_first_stop
TestWatchpointCommands.WatchpointCommandsTestCase.test_rw_disable_then_enable
TestWatchpointCommands.WatchpointCommandsTestCase.test_rw_watchpoint
TestWatchpointCommands.WatchpointCommandsTestCase.test_rw_watchpoint_delete
TestWatchpointCommands.WatchpointCommandsTestCase.test_rw_watchpoint_set_ignore_count
TestWatchpointConditionAPI.WatchpointConditionAPITestCase.test_watchpoint_cond_api
TestWatchpointConditionCmd.WatchpointConditionCmdTestCase.test_watchpoint_cond
TestWatchpointDisable.TestWatchpointSetEnable.test_disable_enable_works
TestWatchpointDisable.TestWatchpointSetEnable.test_disable_works
TestWatchpointEvents.TestWatchpointEvents.test_with_python_api
TestWatchpointIgnoreCount.WatchpointIgnoreCountTestCase.test_set_watch_ignore_count
TestWatchpointIter.WatchpointIteratorTestCase.test_watch_iter
TestWatchpointMultipleSlots.WatchpointSlotsTestCase.test_multiple_watchpoints_on_same_word
TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase.test_watchpoint_after_thread_launch
TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase.test_watchpoint_after_thread_start
TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase.test_watchpoint_before_thread_start
TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase.test_watchpoint_multiple_threads_wp_set_and_then_delete
TestWatchpointSizes.WatchpointSizeTestCase.test_byte_size_watchpoints_with_byte_selection
TestWatchpointSizes.WatchpointSizeTestCase.test_four_byte_watchpoints_with_dword_selection
TestWatchpointSizes.WatchpointSizeTestCase.test_two_byte_watchpoints_with_word_selection
Empty file.
Loading