Author: Pavel Labath Date: 2020-12-29T09:37:01+01:00 New Revision: a0b68a2925fbe31f4b0af27677d55feaff6b1362
URL: https://github.com/llvm/llvm-project/commit/a0b68a2925fbe31f4b0af27677d55feaff6b1362 DIFF: https://github.com/llvm/llvm-project/commit/a0b68a2925fbe31f4b0af27677d55feaff6b1362.diff LOG: [lldb] Deduplicate some tests in TestLldbGdbServer Use the new gdb-remote test case factory to generate debugserver and llgs variants, handling the simple cases first. 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 0a93f2ceba08..58df3212f653 100644 --- a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py +++ b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py @@ -24,15 +24,7 @@ class LldbGdbServerTestCase(gdbremote_testcase.GdbRemoteTestCaseBase, DwarfOpcod mydir = TestBase.compute_mydir(__file__) - @debugserver_test - def test_exe_starts_debugserver(self): - server = self.connect_to_debug_monitor() - - @llgs_test - def test_exe_starts_llgs(self): - server = self.connect_to_debug_monitor() - - def thread_suffix_supported(self): + def test_thread_suffix_supported(self): server = self.connect_to_debug_monitor() self.assertIsNotNone(server) @@ -44,15 +36,8 @@ def thread_suffix_supported(self): self.expect_gdbremote_sequence() - @debugserver_test - def test_thread_suffix_supported_debugserver(self): - self.thread_suffix_supported() - - @llgs_test - def test_thread_suffix_supported_llgs(self): - self.thread_suffix_supported() - def list_threads_in_stop_reply_supported(self): + def test_list_threads_in_stop_reply_supported(self): server = self.connect_to_debug_monitor() self.assertIsNotNone(server) @@ -63,15 +48,8 @@ def list_threads_in_stop_reply_supported(self): True) self.expect_gdbremote_sequence() - @debugserver_test - def test_list_threads_in_stop_reply_supported_debugserver(self): - self.list_threads_in_stop_reply_supported() - - @llgs_test - def test_list_threads_in_stop_reply_supported_llgs(self): - self.list_threads_in_stop_reply_supported() - - def c_packet_works(self): + def test_c_packet_works(self): + self.build() procs = self.prep_debug_monitor_and_inferior() self.test_sequence.add_log_lines( ["read packet: $c#63", @@ -80,17 +58,9 @@ def c_packet_works(self): self.expect_gdbremote_sequence() - @debugserver_test - def test_c_packet_works_debugserver(self): - self.build() - self.c_packet_works() - - @llgs_test - def test_c_packet_works_llgs(self): + @skipIfWindows # No pty support to test any inferior output + def test_inferior_print_exit(self): self.build() - self.c_packet_works() - - def inferior_print_exit(self): procs = self.prep_debug_monitor_and_inferior( inferior_args=["hello, world"]) self.test_sequence.add_log_lines( @@ -102,19 +72,8 @@ def inferior_print_exit(self): context = self.expect_gdbremote_sequence() self.assertIsNotNone(context) - @debugserver_test - def test_inferior_print_exit_debugserver(self): - self.build() - self.inferior_print_exit() - - @skipIfWindows # No pty support to test any inferior output - @llgs_test - @expectedFlakeyLinux("llvm.org/pr25652") - def test_inferior_print_exit_llgs(self): + def test_first_launch_stop_reply_thread_matches_first_qC(self): self.build() - self.inferior_print_exit() - - def first_launch_stop_reply_thread_matches_first_qC(self): procs = self.prep_debug_monitor_and_inferior() self.test_sequence.add_log_lines(["read packet: $qC#00", {"direction": "send", @@ -127,17 +86,9 @@ def first_launch_stop_reply_thread_matches_first_qC(self): True) self.expect_gdbremote_sequence() - @debugserver_test - def test_first_launch_stop_reply_thread_matches_first_qC_debugserver(self): - self.build() - self.first_launch_stop_reply_thread_matches_first_qC() - - @llgs_test - def test_first_launch_stop_reply_thread_matches_first_qC_llgs(self): + def test_attach_commandline_continue_app_exits(self): self.build() - self.first_launch_stop_reply_thread_matches_first_qC() - - def attach_commandline_continue_app_exits(self): + self.set_inferior_startup_attach() procs = self.prep_debug_monitor_and_inferior() self.test_sequence.add_log_lines( ["read packet: $vCont;c#a8", @@ -160,19 +111,8 @@ def attach_commandline_continue_app_exits(self): lldbgdbserverutils.process_is_running( procs["inferior"].pid, False)) - @debugserver_test - def test_attach_commandline_continue_app_exits_debugserver(self): + def test_qRegisterInfo_returns_one_valid_result(self): self.build() - self.set_inferior_startup_attach() - self.attach_commandline_continue_app_exits() - - @llgs_test - def test_attach_commandline_continue_app_exits_llgs(self): - self.build() - self.set_inferior_startup_attach() - self.attach_commandline_continue_app_exits() - - def qRegisterInfo_returns_one_valid_result(self): self.prep_debug_monitor_and_inferior() self.test_sequence.add_log_lines( ["read packet: $qRegisterInfo0#00", @@ -188,17 +128,8 @@ def qRegisterInfo_returns_one_valid_result(self): self.assert_valid_reg_info( lldbgdbserverutils.parse_reg_info_response(reg_info_packet)) - @debugserver_test - def test_qRegisterInfo_returns_one_valid_result_debugserver(self): + def test_qRegisterInfo_returns_all_valid_results(self): self.build() - self.qRegisterInfo_returns_one_valid_result() - - @llgs_test - def test_qRegisterInfo_returns_one_valid_result_llgs(self): - self.build() - self.qRegisterInfo_returns_one_valid_result() - - def qRegisterInfo_returns_all_valid_results(self): self.prep_debug_monitor_and_inferior() self.add_register_info_collection_packets() @@ -210,17 +141,8 @@ def qRegisterInfo_returns_all_valid_results(self): for reg_info in self.parse_register_info_packets(context): self.assert_valid_reg_info(reg_info) - @debugserver_test - def test_qRegisterInfo_returns_all_valid_results_debugserver(self): - self.build() - self.qRegisterInfo_returns_all_valid_results() - - @llgs_test - def test_qRegisterInfo_returns_all_valid_results_llgs(self): + def test_qRegisterInfo_contains_required_generics_debugserver(self): self.build() - self.qRegisterInfo_returns_all_valid_results() - - def qRegisterInfo_contains_required_generics(self): self.prep_debug_monitor_and_inferior() self.add_register_info_collection_packets() @@ -248,17 +170,8 @@ def qRegisterInfo_contains_required_generics(self): # Ensure we have a flags register. self.assertTrue('flags' in generic_regs) - @debugserver_test - def test_qRegisterInfo_contains_required_generics_debugserver(self): - self.build() - self.qRegisterInfo_contains_required_generics() - - @llgs_test - def test_qRegisterInfo_contains_required_generics_llgs(self): + def test_qRegisterInfo_contains_at_least_one_register_set(self): self.build() - self.qRegisterInfo_contains_required_generics() - - def qRegisterInfo_contains_at_least_one_register_set(self): self.prep_debug_monitor_and_inferior() self.add_register_info_collection_packets() @@ -274,17 +187,6 @@ def qRegisterInfo_contains_at_least_one_register_set(self): reg_info['set']: 1 for reg_info in reg_infos if 'set' in reg_info} self.assertTrue(len(register_sets) >= 1) - @debugserver_test - def test_qRegisterInfo_contains_at_least_one_register_set_debugserver( - self): - self.build() - self.qRegisterInfo_contains_at_least_one_register_set() - - @llgs_test - def test_qRegisterInfo_contains_at_least_one_register_set_llgs(self): - self.build() - self.qRegisterInfo_contains_at_least_one_register_set() - def targetHasAVX(self): triple = self.dbg.GetSelectedPlatform().GetTriple() @@ -305,7 +207,11 @@ def targetHasAVX(self): f.close() return " avx " in cpuinfo - def qRegisterInfo_contains_avx_registers(self): + @expectedFailureAll(oslist=["windows"]) # no avx for now. + @expectedFailureAll(oslist=["netbsd"]) + @add_test_categories(["llgs"]) + def test_qRegisterInfo_contains_avx_registers(self): + self.build() self.prep_debug_monitor_and_inferior() self.add_register_info_collection_packets() @@ -323,13 +229,6 @@ def qRegisterInfo_contains_avx_registers(self): self.targetHasAVX(), "Advanced Vector Extensions" in register_sets) - @expectedFailureAll(oslist=["windows"]) # no avx for now. - @expectedFailureAll(oslist=["netbsd"]) - @llgs_test - def test_qRegisterInfo_contains_avx_registers_llgs(self): - self.build() - self.qRegisterInfo_contains_avx_registers() - def qThreadInfo_contains_thread(self): procs = self.prep_debug_monitor_and_inferior() self.add_threadinfo_collection_packets() @@ -345,27 +244,13 @@ def qThreadInfo_contains_thread(self): # We should have exactly one thread. self.assertEqual(len(threads), 1) - @debugserver_test - def test_qThreadInfo_contains_thread_launch_debugserver(self): + def test_qThreadInfo_contains_thread_launch(self): self.build() self.set_inferior_startup_launch() self.qThreadInfo_contains_thread() - @llgs_test - def test_qThreadInfo_contains_thread_launch_llgs(self): - self.build() - self.set_inferior_startup_launch() - self.qThreadInfo_contains_thread() - - @debugserver_test - def test_qThreadInfo_contains_thread_attach_debugserver(self): - self.build() - self.set_inferior_startup_attach() - self.qThreadInfo_contains_thread() - @expectedFailureAll(oslist=["windows"]) # expect one more thread stopped - @llgs_test - def test_qThreadInfo_contains_thread_attach_llgs(self): + def test_qThreadInfo_contains_thread_attach(self): self.build() self.set_inferior_startup_attach() self.qThreadInfo_contains_thread() @@ -398,32 +283,21 @@ def qThreadInfo_matches_qC(self): # Those two should be the same. self.assertEqual(threads[0], QC_thread_id) - @debugserver_test - def test_qThreadInfo_matches_qC_launch_debugserver(self): - self.build() - self.set_inferior_startup_launch() - self.qThreadInfo_matches_qC() - - @llgs_test - def test_qThreadInfo_matches_qC_launch_llgs(self): + def test_qThreadInfo_matches_qC_launch(self): self.build() self.set_inferior_startup_launch() self.qThreadInfo_matches_qC() - @debugserver_test - def test_qThreadInfo_matches_qC_attach_debugserver(self): - self.build() - self.set_inferior_startup_attach() - self.qThreadInfo_matches_qC() - @expectedFailureAll(oslist=["windows"]) # expect one more thread stopped - @llgs_test - def test_qThreadInfo_matches_qC_attach_llgs(self): + def test_qThreadInfo_matches_qC_attach(self): self.build() self.set_inferior_startup_attach() self.qThreadInfo_matches_qC() - def p_returns_correct_data_size_for_each_qRegisterInfo(self): + @expectedFailureAll(oslist=["netbsd"]) + def test_p_returns_correct_data_size_for_each_qRegisterInfo_launch(self): + self.build() + self.set_inferior_startup_launch() procs = self.prep_debug_monitor_and_inferior() self.add_register_info_collection_packets() @@ -476,36 +350,6 @@ def p_returns_correct_data_size_for_each_qRegisterInfo(self): # Increment loop reg_index += 1 - @debugserver_test - def test_p_returns_correct_data_size_for_each_qRegisterInfo_launch_debugserver( - self): - self.build() - self.set_inferior_startup_launch() - self.p_returns_correct_data_size_for_each_qRegisterInfo() - - @expectedFailureAll(oslist=["netbsd"]) - @llgs_test - def test_p_returns_correct_data_size_for_each_qRegisterInfo_launch_llgs( - self): - self.build() - self.set_inferior_startup_launch() - self.p_returns_correct_data_size_for_each_qRegisterInfo() - - @debugserver_test - def test_p_returns_correct_data_size_for_each_qRegisterInfo_attach_debugserver( - self): - self.build() - self.set_inferior_startup_attach() - self.p_returns_correct_data_size_for_each_qRegisterInfo() - - @expectedFailureAll(oslist=["netbsd"]) - @llgs_test - def test_p_returns_correct_data_size_for_each_qRegisterInfo_attach_llgs( - self): - self.build() - self.set_inferior_startup_attach() - self.p_returns_correct_data_size_for_each_qRegisterInfo() - def Hg_switches_to_3_threads(self): # Startup the inferior with three threads (main + 2 new ones). procs = self.prep_debug_monitor_and_inferior( @@ -538,28 +382,14 @@ def Hg_switches_to_3_threads(self): self.assertIsNotNone(context.get("thread_id")) self.assertEqual(int(context.get("thread_id"), 16), thread) - @debugserver_test - def test_Hg_switches_to_3_threads_launch_debugserver(self): - self.build() - self.set_inferior_startup_launch() - self.Hg_switches_to_3_threads() - @expectedFailureAll(oslist=["windows"]) # expect 4 threads - @llgs_test - def test_Hg_switches_to_3_threads_launch_llgs(self): + def test_Hg_switches_to_3_threads_launch(self): self.build() self.set_inferior_startup_launch() self.Hg_switches_to_3_threads() - @debugserver_test - def test_Hg_switches_to_3_threads_attach_debugserver(self): - self.build() - self.set_inferior_startup_attach() - self.Hg_switches_to_3_threads() - @expectedFailureAll(oslist=["windows"]) # expecting one more thread - @llgs_test - def test_Hg_switches_to_3_threads_attach_llgs(self): + def test_Hg_switches_to_3_threads_attach(self): self.build() self.set_inferior_startup_attach() self.Hg_switches_to_3_threads() _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits