Skip to content

Commit 9a92684

Browse files
committed
Split out qSupported tests
1 parent b39e9ca commit 9a92684

File tree

4 files changed

+111
-91
lines changed

4 files changed

+111
-91
lines changed

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

Lines changed: 0 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,97 +1064,6 @@ def test_hardware_breakpoint_set_and_remove_work(self):
10641064
self.set_inferior_startup_launch()
10651065
self.breakpoint_set_and_remove_work(want_hardware=True)
10661066

1067-
def get_qSupported_dict(self, features=[]):
1068-
self.build()
1069-
self.set_inferior_startup_launch()
1070-
1071-
# Start up the stub and start/prep the inferior.
1072-
procs = self.prep_debug_monitor_and_inferior()
1073-
self.add_qSupported_packets(features)
1074-
1075-
# Run the packet stream.
1076-
context = self.expect_gdbremote_sequence()
1077-
self.assertIsNotNone(context)
1078-
1079-
# Retrieve the qSupported features.
1080-
return self.parse_qSupported_response(context)
1081-
1082-
def test_qSupported_returns_known_stub_features(self):
1083-
supported_dict = self.get_qSupported_dict()
1084-
self.assertIsNotNone(supported_dict)
1085-
self.assertGreater(len(supported_dict), 0)
1086-
1087-
def test_qSupported_auvx(self):
1088-
expected = (
1089-
"+"
1090-
if lldbplatformutil.getPlatform() in ["freebsd", "linux", "netbsd"]
1091-
else "-"
1092-
)
1093-
supported_dict = self.get_qSupported_dict()
1094-
self.assertEqual(supported_dict.get("qXfer:auxv:read", "-"), expected)
1095-
1096-
def test_qSupported_libraries_svr4(self):
1097-
expected = (
1098-
"+"
1099-
if lldbplatformutil.getPlatform() in ["freebsd", "linux", "netbsd"]
1100-
else "-"
1101-
)
1102-
supported_dict = self.get_qSupported_dict()
1103-
self.assertEqual(supported_dict.get("qXfer:libraries-svr4:read", "-"), expected)
1104-
1105-
def test_qSupported_siginfo_read(self):
1106-
expected = (
1107-
"+" if lldbplatformutil.getPlatform() in ["freebsd", "linux"] else "-"
1108-
)
1109-
supported_dict = self.get_qSupported_dict()
1110-
self.assertEqual(supported_dict.get("qXfer:siginfo:read", "-"), expected)
1111-
1112-
def test_qSupported_QPassSignals(self):
1113-
expected = (
1114-
"+"
1115-
if lldbplatformutil.getPlatform() in ["freebsd", "linux", "netbsd"]
1116-
else "-"
1117-
)
1118-
supported_dict = self.get_qSupported_dict()
1119-
self.assertEqual(supported_dict.get("QPassSignals", "-"), expected)
1120-
1121-
@add_test_categories(["fork"])
1122-
def test_qSupported_fork_events(self):
1123-
supported_dict = self.get_qSupported_dict(["multiprocess+", "fork-events+"])
1124-
self.assertEqual(supported_dict.get("multiprocess", "-"), "+")
1125-
self.assertEqual(supported_dict.get("fork-events", "-"), "+")
1126-
self.assertEqual(supported_dict.get("vfork-events", "-"), "-")
1127-
1128-
@add_test_categories(["fork"])
1129-
def test_qSupported_fork_events_without_multiprocess(self):
1130-
supported_dict = self.get_qSupported_dict(["fork-events+"])
1131-
self.assertEqual(supported_dict.get("multiprocess", "-"), "-")
1132-
self.assertEqual(supported_dict.get("fork-events", "-"), "-")
1133-
self.assertEqual(supported_dict.get("vfork-events", "-"), "-")
1134-
1135-
@add_test_categories(["fork"])
1136-
def test_qSupported_vfork_events(self):
1137-
supported_dict = self.get_qSupported_dict(["multiprocess+", "vfork-events+"])
1138-
self.assertEqual(supported_dict.get("multiprocess", "-"), "+")
1139-
self.assertEqual(supported_dict.get("fork-events", "-"), "-")
1140-
self.assertEqual(supported_dict.get("vfork-events", "-"), "+")
1141-
1142-
@add_test_categories(["fork"])
1143-
def test_qSupported_vfork_events_without_multiprocess(self):
1144-
supported_dict = self.get_qSupported_dict(["vfork-events+"])
1145-
self.assertEqual(supported_dict.get("multiprocess", "-"), "-")
1146-
self.assertEqual(supported_dict.get("fork-events", "-"), "-")
1147-
self.assertEqual(supported_dict.get("vfork-events", "-"), "-")
1148-
1149-
# We need to be able to self.runCmd to get cpuinfo,
1150-
# which is not possible when using a remote platform.
1151-
@skipIfRemote
1152-
def test_qSupported_memory_tagging(self):
1153-
supported_dict = self.get_qSupported_dict()
1154-
self.assertEqual(
1155-
supported_dict.get("memory-tagging", "-"),
1156-
"+" if self.isAArch64MTE() else "-",
1157-
)
11581067

11591068
@skipIfWindows # No pty support to test any inferior output
11601069
def test_written_M_content_reads_back_correctly(self):
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
C_SOURCES := main.c
2+
3+
include Makefile.rules
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
import binascii
2+
import itertools
3+
import struct
4+
5+
import gdbremote_testcase
6+
import lldbgdbserverutils
7+
from lldbsuite.support import seven
8+
from lldbsuite.test.decorators import *
9+
from lldbsuite.test.lldbtest import *
10+
from lldbsuite.test.lldbdwarf import *
11+
from lldbsuite.test import lldbutil, lldbplatformutil
12+
13+
14+
class TestGdbRemote_qSupported(
15+
gdbremote_testcase.GdbRemoteTestCaseBase
16+
):
17+
def get_qSupported_dict(self, features=[]):
18+
self.build()
19+
self.set_inferior_startup_launch()
20+
21+
# Start up the stub and start/prep the inferior.
22+
procs = self.prep_debug_monitor_and_inferior()
23+
self.add_qSupported_packets(features)
24+
25+
# Run the packet stream.
26+
context = self.expect_gdbremote_sequence()
27+
self.assertIsNotNone(context)
28+
29+
# Retrieve the qSupported features.
30+
return self.parse_qSupported_response(context)
31+
32+
def test_qSupported_returns_known_stub_features(self):
33+
supported_dict = self.get_qSupported_dict()
34+
self.assertIsNotNone(supported_dict)
35+
self.assertGreater(len(supported_dict), 0)
36+
37+
def test_qSupported_auvx(self):
38+
expected = (
39+
"+"
40+
if lldbplatformutil.getPlatform() in ["freebsd", "linux", "netbsd"]
41+
else "-"
42+
)
43+
supported_dict = self.get_qSupported_dict()
44+
self.assertEqual(supported_dict.get("qXfer:auxv:read", "-"), expected)
45+
46+
def test_qSupported_libraries_svr4(self):
47+
expected = (
48+
"+"
49+
if lldbplatformutil.getPlatform() in ["freebsd", "linux", "netbsd"]
50+
else "-"
51+
)
52+
supported_dict = self.get_qSupported_dict()
53+
self.assertEqual(supported_dict.get("qXfer:libraries-svr4:read", "-"), expected)
54+
55+
def test_qSupported_siginfo_read(self):
56+
expected = (
57+
"+" if lldbplatformutil.getPlatform() in ["freebsd", "linux"] else "-"
58+
)
59+
supported_dict = self.get_qSupported_dict()
60+
self.assertEqual(supported_dict.get("qXfer:siginfo:read", "-"), expected)
61+
62+
def test_qSupported_QPassSignals(self):
63+
expected = (
64+
"+"
65+
if lldbplatformutil.getPlatform() in ["freebsd", "linux", "netbsd"]
66+
else "-"
67+
)
68+
supported_dict = self.get_qSupported_dict()
69+
self.assertEqual(supported_dict.get("QPassSignals", "-"), expected)
70+
71+
@add_test_categories(["fork"])
72+
def test_qSupported_fork_events(self):
73+
supported_dict = self.get_qSupported_dict(["multiprocess+", "fork-events+"])
74+
self.assertEqual(supported_dict.get("multiprocess", "-"), "+")
75+
self.assertEqual(supported_dict.get("fork-events", "-"), "+")
76+
self.assertEqual(supported_dict.get("vfork-events", "-"), "-")
77+
78+
@add_test_categories(["fork"])
79+
def test_qSupported_fork_events_without_multiprocess(self):
80+
supported_dict = self.get_qSupported_dict(["fork-events+"])
81+
self.assertEqual(supported_dict.get("multiprocess", "-"), "-")
82+
self.assertEqual(supported_dict.get("fork-events", "-"), "-")
83+
self.assertEqual(supported_dict.get("vfork-events", "-"), "-")
84+
85+
@add_test_categories(["fork"])
86+
def test_qSupported_vfork_events(self):
87+
supported_dict = self.get_qSupported_dict(["multiprocess+", "vfork-events+"])
88+
self.assertEqual(supported_dict.get("multiprocess", "-"), "+")
89+
self.assertEqual(supported_dict.get("fork-events", "-"), "-")
90+
self.assertEqual(supported_dict.get("vfork-events", "-"), "+")
91+
92+
@add_test_categories(["fork"])
93+
def test_qSupported_vfork_events_without_multiprocess(self):
94+
supported_dict = self.get_qSupported_dict(["vfork-events+"])
95+
self.assertEqual(supported_dict.get("multiprocess", "-"), "-")
96+
self.assertEqual(supported_dict.get("fork-events", "-"), "-")
97+
self.assertEqual(supported_dict.get("vfork-events", "-"), "-")
98+
99+
# We need to be able to self.runCmd to get cpuinfo,
100+
# which is not possible when using a remote platform.
101+
@skipIfRemote
102+
def test_qSupported_memory_tagging(self):
103+
supported_dict = self.get_qSupported_dict()
104+
self.assertEqual(
105+
supported_dict.get("memory-tagging", "-"),
106+
"+" if self.isAArch64MTE() else "-",
107+
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
int main() { return 0; }

0 commit comments

Comments
 (0)