Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ecb4a2b

Browse filesBrowse files
authored
gh-116417: Move limited C API list.c tests to _testlimitedcapi (#116602)
Split list.c and set.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
1 parent 4159644 commit ecb4a2b
Copy full SHA for ecb4a2b

File tree

Expand file treeCollapse file tree

11 files changed

+404
-351
lines changed
Filter options
Expand file treeCollapse file tree

11 files changed

+404
-351
lines changed

‎Lib/test/test_capi/test_list.py

Copy file name to clipboardExpand all lines: Lib/test/test_capi/test_list.py
+15-14Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from test.support import import_helper
55
from collections import UserList
66
_testcapi = import_helper.import_module('_testcapi')
7+
_testlimitedcapi = import_helper.import_module('_testlimitedcapi')
78

89
NULL = None
910
PY_SSIZE_T_MIN = _testcapi.PY_SSIZE_T_MIN
@@ -25,7 +26,7 @@ def __del__(self):
2526
class CAPITest(unittest.TestCase):
2627
def test_check(self):
2728
# Test PyList_Check()
28-
check = _testcapi.list_check
29+
check = _testlimitedcapi.list_check
2930
self.assertTrue(check([1, 2]))
3031
self.assertTrue(check([]))
3132
self.assertTrue(check(ListSubclass([1, 2])))
@@ -39,7 +40,7 @@ def test_check(self):
3940

4041
def test_list_check_exact(self):
4142
# Test PyList_CheckExact()
42-
check = _testcapi.list_check_exact
43+
check = _testlimitedcapi.list_check_exact
4344
self.assertTrue(check([1]))
4445
self.assertTrue(check([]))
4546
self.assertFalse(check(ListSubclass([1])))
@@ -51,7 +52,7 @@ def test_list_check_exact(self):
5152

5253
def test_list_new(self):
5354
# Test PyList_New()
54-
list_new = _testcapi.list_new
55+
list_new = _testlimitedcapi.list_new
5556
lst = list_new(0)
5657
self.assertEqual(lst, [])
5758
self.assertIs(type(lst), list)
@@ -62,7 +63,7 @@ def test_list_new(self):
6263

6364
def test_list_size(self):
6465
# Test PyList_Size()
65-
size = _testcapi.list_size
66+
size = _testlimitedcapi.list_size
6667
self.assertEqual(size([1, 2]), 2)
6768
self.assertEqual(size(ListSubclass([1, 2])), 2)
6869
self.assertRaises(SystemError, size, UserList())
@@ -98,11 +99,11 @@ def check_list_get_item(self, getitem, exctype):
9899

99100
def test_list_getitem(self):
100101
# Test PyList_GetItem()
101-
self.check_list_get_item(_testcapi.list_getitem, SystemError)
102+
self.check_list_get_item(_testlimitedcapi.list_getitem, SystemError)
102103

103104
def test_list_get_item_ref(self):
104105
# Test PyList_GetItemRef()
105-
self.check_list_get_item(_testcapi.list_get_item_ref, TypeError)
106+
self.check_list_get_item(_testlimitedcapi.list_get_item_ref, TypeError)
106107

107108
def test_list_get_item(self):
108109
# Test PyList_GET_ITEM()
@@ -119,7 +120,7 @@ def test_list_get_item(self):
119120

120121
def test_list_setitem(self):
121122
# Test PyList_SetItem()
122-
setitem = _testcapi.list_setitem
123+
setitem = _testlimitedcapi.list_setitem
123124
lst = [1, 2, 3]
124125
setitem(lst, 0, 10)
125126
self.assertEqual(lst, [10, 2, 3])
@@ -151,7 +152,7 @@ def test_list_set_item(self):
151152

152153
def test_list_insert(self):
153154
# Test PyList_Insert()
154-
insert = _testcapi.list_insert
155+
insert = _testlimitedcapi.list_insert
155156
lst = [1, 2, 3]
156157
insert(lst, 0, 23)
157158
self.assertEqual(lst, [23, 1, 2, 3])
@@ -173,7 +174,7 @@ def test_list_insert(self):
173174

174175
def test_list_append(self):
175176
# Test PyList_Append()
176-
append = _testcapi.list_append
177+
append = _testlimitedcapi.list_append
177178
lst = [1, 2, 3]
178179
append(lst, 10)
179180
self.assertEqual(lst, [1, 2, 3, 10])
@@ -186,7 +187,7 @@ def test_list_append(self):
186187

187188
def test_list_getslice(self):
188189
# Test PyList_GetSlice()
189-
getslice = _testcapi.list_getslice
190+
getslice = _testlimitedcapi.list_getslice
190191
lst = [1, 2, 3]
191192

192193
# empty
@@ -210,7 +211,7 @@ def test_list_getslice(self):
210211

211212
def test_list_setslice(self):
212213
# Test PyList_SetSlice()
213-
list_setslice = _testcapi.list_setslice
214+
list_setslice = _testlimitedcapi.list_setslice
214215
def set_slice(lst, low, high, value):
215216
lst = lst.copy()
216217
self.assertEqual(list_setslice(lst, low, high, value), 0)
@@ -265,7 +266,7 @@ def set_slice(lst, low, high, value):
265266

266267
def test_list_sort(self):
267268
# Test PyList_Sort()
268-
sort = _testcapi.list_sort
269+
sort = _testlimitedcapi.list_sort
269270
lst = [4, 6, 7, 3, 1, 5, 9, 2, 0, 8]
270271
sort(lst)
271272
self.assertEqual(lst, list(range(10)))
@@ -281,7 +282,7 @@ def test_list_sort(self):
281282

282283
def test_list_reverse(self):
283284
# Test PyList_Reverse()
284-
reverse = _testcapi.list_reverse
285+
reverse = _testlimitedcapi.list_reverse
285286
def list_reverse(lst):
286287
self.assertEqual(reverse(lst), 0)
287288
return lst
@@ -295,7 +296,7 @@ def list_reverse(lst):
295296

296297
def test_list_astuple(self):
297298
# Test PyList_AsTuple()
298-
astuple = _testcapi.list_astuple
299+
astuple = _testlimitedcapi.list_astuple
299300
self.assertEqual(astuple([]), ())
300301
self.assertEqual(astuple([2, 5, 10]), (2, 5, 10))
301302

‎Lib/test/test_capi/test_set.py

Copy file name to clipboardExpand all lines: Lib/test/test_capi/test_set.py
+17-15Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
from test.support import import_helper
44

5-
# Skip this test if the _testcapi or _testinternalcapi modules aren't available.
5+
# Skip this test if the _testcapi, _testlimitedcapi or _testinternalcapi
6+
# modules aren't available.
67
_testcapi = import_helper.import_module('_testcapi')
8+
_testlimitedcapi = import_helper.import_module('_testlimitedcapi')
79
_testinternalcapi = import_helper.import_module('_testinternalcapi')
810

911
class set_subclass(set):
@@ -23,7 +25,7 @@ def assertImmutable(self, action, *args):
2325

2426
class TestSetCAPI(BaseSetTests, unittest.TestCase):
2527
def test_set_check(self):
26-
check = _testcapi.set_check
28+
check = _testlimitedcapi.set_check
2729
self.assertTrue(check(set()))
2830
self.assertTrue(check({1, 2}))
2931
self.assertFalse(check(frozenset()))
@@ -33,7 +35,7 @@ def test_set_check(self):
3335
# CRASHES: check(NULL)
3436

3537
def test_set_check_exact(self):
36-
check = _testcapi.set_checkexact
38+
check = _testlimitedcapi.set_checkexact
3739
self.assertTrue(check(set()))
3840
self.assertTrue(check({1, 2}))
3941
self.assertFalse(check(frozenset()))
@@ -43,7 +45,7 @@ def test_set_check_exact(self):
4345
# CRASHES: check(NULL)
4446

4547
def test_frozenset_check(self):
46-
check = _testcapi.frozenset_check
48+
check = _testlimitedcapi.frozenset_check
4749
self.assertFalse(check(set()))
4850
self.assertTrue(check(frozenset()))
4951
self.assertTrue(check(frozenset({1, 2})))
@@ -53,7 +55,7 @@ def test_frozenset_check(self):
5355
# CRASHES: check(NULL)
5456

5557
def test_frozenset_check_exact(self):
56-
check = _testcapi.frozenset_checkexact
58+
check = _testlimitedcapi.frozenset_checkexact
5759
self.assertFalse(check(set()))
5860
self.assertTrue(check(frozenset()))
5961
self.assertTrue(check(frozenset({1, 2})))
@@ -63,7 +65,7 @@ def test_frozenset_check_exact(self):
6365
# CRASHES: check(NULL)
6466

6567
def test_anyset_check(self):
66-
check = _testcapi.anyset_check
68+
check = _testlimitedcapi.anyset_check
6769
self.assertTrue(check(set()))
6870
self.assertTrue(check({1, 2}))
6971
self.assertTrue(check(frozenset()))
@@ -74,7 +76,7 @@ def test_anyset_check(self):
7476
# CRASHES: check(NULL)
7577

7678
def test_anyset_check_exact(self):
77-
check = _testcapi.anyset_checkexact
79+
check = _testlimitedcapi.anyset_checkexact
7880
self.assertTrue(check(set()))
7981
self.assertTrue(check({1, 2}))
8082
self.assertTrue(check(frozenset()))
@@ -85,7 +87,7 @@ def test_anyset_check_exact(self):
8587
# CRASHES: check(NULL)
8688

8789
def test_set_new(self):
88-
set_new = _testcapi.set_new
90+
set_new = _testlimitedcapi.set_new
8991
self.assertEqual(set_new().__class__, set)
9092
self.assertEqual(set_new(), set())
9193
self.assertEqual(set_new((1, 1, 2)), {1, 2})
@@ -98,7 +100,7 @@ def test_set_new(self):
98100
set_new((1, {}))
99101

100102
def test_frozenset_new(self):
101-
frozenset_new = _testcapi.frozenset_new
103+
frozenset_new = _testlimitedcapi.frozenset_new
102104
self.assertEqual(frozenset_new().__class__, frozenset)
103105
self.assertEqual(frozenset_new(), frozenset())
104106
self.assertEqual(frozenset_new((1, 1, 2)), frozenset({1, 2}))
@@ -111,7 +113,7 @@ def test_frozenset_new(self):
111113
frozenset_new((1, {}))
112114

113115
def test_set_size(self):
114-
get_size = _testcapi.set_size
116+
get_size = _testlimitedcapi.set_size
115117
self.assertEqual(get_size(set()), 0)
116118
self.assertEqual(get_size(frozenset()), 0)
117119
self.assertEqual(get_size({1, 1, 2}), 2)
@@ -134,7 +136,7 @@ def test_set_get_size(self):
134136
# CRASHES: get_size(object())
135137

136138
def test_set_contains(self):
137-
contains = _testcapi.set_contains
139+
contains = _testlimitedcapi.set_contains
138140
for cls in (set, frozenset, set_subclass, frozenset_subclass):
139141
with self.subTest(cls=cls):
140142
instance = cls((1, 2))
@@ -147,7 +149,7 @@ def test_set_contains(self):
147149
# CRASHES: contains(NULL, NULL)
148150

149151
def test_add(self):
150-
add = _testcapi.set_add
152+
add = _testlimitedcapi.set_add
151153
for cls in (set, set_subclass):
152154
with self.subTest(cls=cls):
153155
instance = cls((1, 2))
@@ -165,7 +167,7 @@ def test_add(self):
165167
# CRASHES: add(NULL, NULL)
166168

167169
def test_discard(self):
168-
discard = _testcapi.set_discard
170+
discard = _testlimitedcapi.set_discard
169171
for cls in (set, set_subclass):
170172
with self.subTest(cls=cls):
171173
instance = cls((1, 2))
@@ -187,7 +189,7 @@ def test_discard(self):
187189
# CRASHES: discard(NULL, NULL)
188190

189191
def test_pop(self):
190-
pop = _testcapi.set_pop
192+
pop = _testlimitedcapi.set_pop
191193
orig = (1, 2)
192194
for cls in (set, set_subclass):
193195
with self.subTest(cls=cls):
@@ -204,7 +206,7 @@ def test_pop(self):
204206
# CRASHES: pop(NULL)
205207

206208
def test_clear(self):
207-
clear = _testcapi.set_clear
209+
clear = _testlimitedcapi.set_clear
208210
for cls in (set, set_subclass):
209211
with self.subTest(cls=cls):
210212
instance = cls((1, 2))

‎Modules/Setup.stdlib.in

Copy file name to clipboardExpand all lines: Modules/Setup.stdlib.in
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
@MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c
164164
@MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c _testinternalcapi/test_lock.c _testinternalcapi/pytime.c _testinternalcapi/set.c _testinternalcapi/test_critical_sections.c
165165
@MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c _testcapi/vectorcall.c _testcapi/heaptype.c _testcapi/abstract.c _testcapi/unicode.c _testcapi/dict.c _testcapi/set.c _testcapi/list.c _testcapi/tuple.c _testcapi/getargs.c _testcapi/datetime.c _testcapi/docstring.c _testcapi/mem.c _testcapi/watchers.c _testcapi/long.c _testcapi/float.c _testcapi/complex.c _testcapi/numbers.c _testcapi/structmember.c _testcapi/exceptions.c _testcapi/code.c _testcapi/buffer.c _testcapi/pyatomic.c _testcapi/file.c _testcapi/codec.c _testcapi/immortal.c _testcapi/gc.c _testcapi/hash.c _testcapi/time.c
166-
@MODULE__TESTLIMITEDCAPI_TRUE@_testlimitedcapi _testlimitedcapi.c _testlimitedcapi/bytearray.c _testlimitedcapi/bytes.c _testlimitedcapi/heaptype_relative.c _testlimitedcapi/pyos.c _testlimitedcapi/sys.c _testlimitedcapi/vectorcall_limited.c
166+
@MODULE__TESTLIMITEDCAPI_TRUE@_testlimitedcapi _testlimitedcapi.c _testlimitedcapi/bytearray.c _testlimitedcapi/bytes.c _testlimitedcapi/heaptype_relative.c _testlimitedcapi/list.c _testlimitedcapi/pyos.c _testlimitedcapi/set.c _testlimitedcapi/sys.c _testlimitedcapi/vectorcall_limited.c
167167
@MODULE__TESTCLINIC_TRUE@_testclinic _testclinic.c
168168
@MODULE__TESTCLINIC_LIMITED_TRUE@_testclinic_limited _testclinic_limited.c
169169

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.