[Lldb-commits] [lldb] cd31763 - Disable TestLldbGdbServer on Dwarf2 and clang versions below 14

Shubham Sandeep Rastogi via lldb-commits lldb-commits at lists.llvm.org
Thu Jan 27 13:30:07 PST 2022


Author: Shubham Sandeep Rastogi
Date: 2022-01-27T13:29:34-08:00
New Revision: cd317637708decd8faf34dd9773a8b2dec424010

URL: https://github.com/llvm/llvm-project/commit/cd317637708decd8faf34dd9773a8b2dec424010
DIFF: https://github.com/llvm/llvm-project/commit/cd317637708decd8faf34dd9773a8b2dec424010.diff

LOG: Disable TestLldbGdbServer on Dwarf2 and clang versions below 14

We have been noticing issues with the lldb bots on builds using versions below clang 14 and dwarf 2, so to make sure we can get clean builds for a while, we are disabling the tests for those versions

Differential Revision: https://reviews.llvm.org/D118395

Added: 
    

Modified: 
    lldb/test/API/tools/lldb-server/TestLldbGdbServer.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
index 18461568c02ce..94b6123e0a4fd 100644
--- a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
+++ b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
@@ -28,6 +28,8 @@ class LldbGdbServerTestCase(gdbremote_testcase.GdbRemoteTestCaseBase, DwarfOpcod
 
     mydir = TestBase.compute_mydir(__file__)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_thread_suffix_supported(self):
         server = self.connect_to_debug_monitor()
         self.assertIsNotNone(server)
@@ -41,6 +43,8 @@ def test_thread_suffix_supported(self):
         self.expect_gdbremote_sequence()
 
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_list_threads_in_stop_reply_supported(self):
         server = self.connect_to_debug_monitor()
         self.assertIsNotNone(server)
@@ -52,6 +56,8 @@ def test_list_threads_in_stop_reply_supported(self):
             True)
         self.expect_gdbremote_sequence()
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<'3 '4'])
     def test_c_packet_works(self):
         self.build()
         procs = self.prep_debug_monitor_and_inferior()
@@ -63,6 +69,8 @@ def test_c_packet_works(self):
         self.expect_gdbremote_sequence()
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_inferior_print_exit(self):
         self.build()
         procs = self.prep_debug_monitor_and_inferior(
@@ -76,6 +84,8 @@ def test_inferior_print_exit(self):
         context = self.expect_gdbremote_sequence()
         self.assertIsNotNone(context)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_first_launch_stop_reply_thread_matches_first_qC(self):
         self.build()
         procs = self.prep_debug_monitor_and_inferior()
@@ -91,6 +101,8 @@ def test_first_launch_stop_reply_thread_matches_first_qC(self):
         context = self.expect_gdbremote_sequence()
         self.assertEqual(context.get("thread_id_QC"), context.get("thread_id_?"))
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_attach_commandline_continue_app_exits(self):
         self.build()
         self.set_inferior_startup_attach()
@@ -116,6 +128,8 @@ def test_attach_commandline_continue_app_exits(self):
             lldbgdbserverutils.process_is_running(
                 procs["inferior"].pid, False))
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qRegisterInfo_returns_one_valid_result(self):
         self.build()
         self.prep_debug_monitor_and_inferior()
@@ -133,6 +147,8 @@ def test_qRegisterInfo_returns_one_valid_result(self):
         self.assert_valid_reg_info(
             lldbgdbserverutils.parse_reg_info_response(reg_info_packet))
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qRegisterInfo_returns_all_valid_results(self):
         self.build()
         self.prep_debug_monitor_and_inferior()
@@ -146,6 +162,8 @@ def test_qRegisterInfo_returns_all_valid_results(self):
         for reg_info in self.parse_register_info_packets(context):
             self.assert_valid_reg_info(reg_info)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qRegisterInfo_contains_required_generics_debugserver(self):
         self.build()
         self.prep_debug_monitor_and_inferior()
@@ -175,6 +193,8 @@ def test_qRegisterInfo_contains_required_generics_debugserver(self):
         # Ensure we have a flags register.
         self.assertIn('flags', generic_regs)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qRegisterInfo_contains_at_least_one_register_set(self):
         self.build()
         self.prep_debug_monitor_and_inferior()
@@ -215,6 +235,8 @@ def targetHasAVX(self):
     @expectedFailureAll(oslist=["windows"]) # no avx for now.
     @skipIf(archs=no_match(['amd64', 'i386', 'x86_64']))
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qRegisterInfo_contains_avx_registers(self):
         self.build()
         self.prep_debug_monitor_and_inferior()
@@ -249,12 +271,16 @@ def qThreadInfo_contains_thread(self):
         # We should have exactly one thread.
         self.assertEqual(len(threads), 1)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qThreadInfo_contains_thread_launch(self):
         self.build()
         self.set_inferior_startup_launch()
         self.qThreadInfo_contains_thread()
 
     @expectedFailureAll(oslist=["windows"]) # expect one more thread stopped
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qThreadInfo_contains_thread_attach(self):
         self.build()
         self.set_inferior_startup_attach()
@@ -288,17 +314,23 @@ def qThreadInfo_matches_qC(self):
         # Those two should be the same.
         self.assertEqual(threads[0], QC_thread_id)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qThreadInfo_matches_qC_launch(self):
         self.build()
         self.set_inferior_startup_launch()
         self.qThreadInfo_matches_qC()
 
     @expectedFailureAll(oslist=["windows"]) # expect one more thread stopped
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qThreadInfo_matches_qC_attach(self):
         self.build()
         self.set_inferior_startup_attach()
         self.qThreadInfo_matches_qC()
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_p_returns_correct_data_size_for_each_qRegisterInfo_launch(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -392,6 +424,8 @@ def Hg_switches_to_3_threads(self, pass_pid=False):
 
     @expectedFailureAll(oslist=["windows"]) # expect 4 threads
     @skipIf(compiler="clang", compiler_version=['<', '11.0'])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hg_switches_to_3_threads_launch(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -399,6 +433,8 @@ def test_Hg_switches_to_3_threads_launch(self):
 
     @expectedFailureAll(oslist=["windows"]) # expecting one more thread
     @skipIf(compiler="clang", compiler_version=['<', '11.0'])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hg_switches_to_3_threads_attach(self):
         self.build()
         self.set_inferior_startup_attach()
@@ -407,6 +443,8 @@ def test_Hg_switches_to_3_threads_attach(self):
     @expectedFailureAll(oslist=["windows"]) # expect 4 threads
     @add_test_categories(["llgs"])
     @skipIf(compiler="clang", compiler_version=['<', '11.0'])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hg_switches_to_3_threads_attach_pass_correct_pid(self):
         self.build()
         self.set_inferior_startup_attach()
@@ -437,6 +475,8 @@ def Hg_fails_on_pid(self, pass_pid):
 
     @expectedFailureAll(oslist=["windows"])
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hg_fails_on_another_pid(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -444,6 +484,8 @@ def test_Hg_fails_on_another_pid(self):
 
     @expectedFailureAll(oslist=["windows"])
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hg_fails_on_zero_pid(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -451,6 +493,8 @@ def test_Hg_fails_on_zero_pid(self):
 
     @expectedFailureAll(oslist=["windows"])
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hg_fails_on_minus_one_pid(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -571,6 +615,8 @@ def Hc_then_Csignal_signals_correct_thread(self, segfault_signo):
     @skipIfWindows # no SIGSEGV support
     @expectedFailureAll(oslist=["freebsd"], bugnumber="llvm.org/pr48419")
     @expectedFailureNetBSD
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_Hc_then_Csignal_signals_correct_thread_launch(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -584,6 +630,8 @@ def test_Hc_then_Csignal_signals_correct_thread_launch(self):
                 lldbutil.get_signal_number('SIGSEGV'))
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_m_packet_reads_memory(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -638,6 +686,8 @@ def test_m_packet_reads_memory(self):
         read_contents = seven.unhexlify(context.get("read_contents"))
         self.assertEqual(read_contents, MEMORY_CONTENTS)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qMemoryRegionInfo_is_supported(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -652,6 +702,8 @@ def test_qMemoryRegionInfo_is_supported(self):
         self.expect_gdbremote_sequence()
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qMemoryRegionInfo_reports_code_address_as_executable(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -704,6 +756,8 @@ def test_qMemoryRegionInfo_reports_code_address_as_executable(self):
         self.assert_address_within_memory_region(code_address, mem_region_dict)
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qMemoryRegionInfo_reports_stack_address_as_rw(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -757,6 +811,8 @@ def test_qMemoryRegionInfo_reports_stack_address_as_rw(self):
             stack_address, mem_region_dict)
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qMemoryRegionInfo_reports_heap_address_as_rw(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -941,6 +997,8 @@ def breakpoint_set_and_remove_work(self, want_hardware):
         self.assertIsNotNone(context)
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_software_breakpoint_set_and_remove_work(self):
         if self.getArchitecture() == "arm":
             # TODO: Handle case when setting breakpoint in thumb code
@@ -952,6 +1010,8 @@ def test_software_breakpoint_set_and_remove_work(self):
 
     @skipUnlessPlatform(oslist=['linux'])
     @skipIf(archs=no_match(['arm', 'aarch64']))
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_hardware_breakpoint_set_and_remove_work(self):
         if self.getArchitecture() == "arm":
             # TODO: Handle case when setting breakpoint in thumb code
@@ -976,17 +1036,23 @@ def get_qSupported_dict(self, features=[]):
         # Retrieve the qSupported features.
         return self.parse_qSupported_response(context)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_returns_known_stub_features(self):
         supported_dict = self.get_qSupported_dict()
         self.assertIsNotNone(supported_dict)
         self.assertTrue(len(supported_dict) > 0)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<',3'4'])
     def test_qSupported_auvx(self):
         expected = ('+' if lldbplatformutil.getPlatform()
                     in ["freebsd", "linux", "netbsd"] else '-')
         supported_dict = self.get_qSupported_dict()
         self.assertEqual(supported_dict.get('qXfer:auxv:read', '-'), expected)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_libraries_svr4(self):
         expected = ('+' if lldbplatformutil.getPlatform()
                     in ["freebsd", "linux", "netbsd"] else '-')
@@ -994,6 +1060,8 @@ def test_qSupported_libraries_svr4(self):
         self.assertEqual(supported_dict.get('qXfer:libraries-svr4:read', '-'),
                          expected)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_siginfo_read(self):
         expected = ('+' if lldbplatformutil.getPlatform()
                     in ["freebsd", "linux"] else '-')
@@ -1001,6 +1069,8 @@ def test_qSupported_siginfo_read(self):
         self.assertEqual(supported_dict.get('qXfer:siginfo:read', '-'),
                          expected)
 
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_QPassSignals(self):
         expected = ('+' if lldbplatformutil.getPlatform()
                     in ["freebsd", "linux", "netbsd"] else '-')
@@ -1008,6 +1078,8 @@ def test_qSupported_QPassSignals(self):
         self.assertEqual(supported_dict.get('QPassSignals', '-'), expected)
 
     @add_test_categories(["fork"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_fork_events(self):
         supported_dict = (
             self.get_qSupported_dict(['multiprocess+', 'fork-events+']))
@@ -1016,6 +1088,8 @@ def test_qSupported_fork_events(self):
         self.assertEqual(supported_dict.get('vfork-events', '-'), '-')
 
     @add_test_categories(["fork"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_fork_events_without_multiprocess(self):
         supported_dict = (
             self.get_qSupported_dict(['fork-events+']))
@@ -1024,6 +1098,8 @@ def test_qSupported_fork_events_without_multiprocess(self):
         self.assertEqual(supported_dict.get('vfork-events', '-'), '-')
 
     @add_test_categories(["fork"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_vfork_events(self):
         supported_dict = (
             self.get_qSupported_dict(['multiprocess+', 'vfork-events+']))
@@ -1032,6 +1108,8 @@ def test_qSupported_vfork_events(self):
         self.assertEqual(supported_dict.get('vfork-events', '-'), '+')
 
     @add_test_categories(["fork"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_vfork_events_without_multiprocess(self):
         supported_dict = (
             self.get_qSupported_dict(['vfork-events+']))
@@ -1042,12 +1120,16 @@ def test_qSupported_vfork_events_without_multiprocess(self):
     # We need to be able to self.runCmd to get cpuinfo,
     # which is not possible when using a remote platform.
     @skipIfRemote
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qSupported_memory_tagging(self):
         supported_dict = self.get_qSupported_dict()
         self.assertEqual(supported_dict.get("memory-tagging", '-'),
                          '+' if self.isAArch64MTE() else '-')
 
     @skipIfWindows # No pty support to test any inferior output
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_written_M_content_reads_back_correctly(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -1113,6 +1195,8 @@ def test_written_M_content_reads_back_correctly(self):
     # Note: as of this moment, a hefty number of the GPR writes are failing with E32 (everything except rax-rdx, rdi, rsi, rbp).
     # Come back to this.  I have the test rigged to verify that at least some
     # of the bit-flip writes work.
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_P_writes_all_gpr_registers(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -1150,6 +1234,8 @@ def test_P_writes_all_gpr_registers(self):
     # Note: as of this moment, a hefty number of the GPR writes are failing
     # with E32 (everything except rax-rdx, rdi, rsi, rbp).
     @skipIfWindows
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_P_and_p_thread_suffix_work(self):
         self.build()
         self.set_inferior_startup_launch()
@@ -1263,6 +1349,8 @@ def test_P_and_p_thread_suffix_work(self):
 
     @skipIfWindows # No pty support to test any inferior output
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['3', '4'])
     def test_launch_via_A(self):
         self.build()
         exe_path = self.getBuildArtifact("a.out")
@@ -1288,6 +1376,8 @@ def test_launch_via_A(self):
 
     @skipIfWindows # No pty support to test any inferior output
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<',3'4'])
     def test_launch_via_vRun(self):
         self.build()
         exe_path = self.getBuildArtifact("a.out")
@@ -1309,6 +1399,8 @@ def test_launch_via_vRun(self):
                          b'arg1\r\narg2\r\narg3\r\n')
 
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_launch_via_vRun_no_args(self):
         self.build()
         exe_path = self.getBuildArtifact("a.out")
@@ -1328,6 +1420,8 @@ def test_launch_via_vRun_no_args(self):
 
     @skipIfWindows # No pty support to test any inferior output
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['3', '4'])
     def test_QEnvironment(self):
         self.build()
         exe_path = self.getBuildArtifact("a.out")
@@ -1356,6 +1450,8 @@ def test_QEnvironment(self):
 
     @skipIfWindows # No pty support to test any inferior output
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_QEnvironmentHexEncoded(self):
         self.build()
         exe_path = self.getBuildArtifact("a.out")
@@ -1385,6 +1481,8 @@ def test_QEnvironmentHexEncoded(self):
 
     @skipUnlessPlatform(oslist=["freebsd", "linux"])
     @add_test_categories(["llgs"])
+    @skipIf(compiler="clang", compiler_version=['<', '14.0'])
+    @skipIf(dwarf_version=['<', '3'])
     def test_qXfer_siginfo_read(self):
         self.build()
         self.set_inferior_startup_launch()


        


More information about the lldb-commits mailing list