mirror of
https://github.com/python/cpython.git
synced 2024-11-27 03:45:08 +08:00
gh-116417: Move 4 limited C API test files to _testlimitedcapi (#116571)
Move the following files from Modules/_testcapi/ to Modules/_testlimitedcapi/: * bytearray.c * bytes.c * pyos.c * sys.c Changes: * Replace PyBytes_AS_STRING() with PyBytes_AsString(). * Replace PyBytes_GET_SIZE() with PyBytes_Size(). * Update related test_capi tests. * Copy Modules/_testcapi/util.h to Modules/_testlimitedcapi/util.h.
This commit is contained in:
parent
d8712fa0c7
commit
1cc02ca063
@ -1,7 +1,7 @@
|
||||
import unittest
|
||||
from test.support import import_helper
|
||||
|
||||
_testcapi = import_helper.import_module('_testcapi')
|
||||
_testlimitedcapi = import_helper.import_module('_testlimitedcapi')
|
||||
from _testcapi import PY_SSIZE_T_MIN, PY_SSIZE_T_MAX
|
||||
|
||||
NULL = None
|
||||
@ -19,7 +19,7 @@ class BytesLike:
|
||||
class CAPITest(unittest.TestCase):
|
||||
def test_check(self):
|
||||
# Test PyByteArray_Check()
|
||||
check = _testcapi.bytearray_check
|
||||
check = _testlimitedcapi.bytearray_check
|
||||
self.assertTrue(check(bytearray(b'abc')))
|
||||
self.assertFalse(check(b'abc'))
|
||||
self.assertTrue(check(ByteArraySubclass(b'abc')))
|
||||
@ -32,7 +32,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_checkexact(self):
|
||||
# Test PyByteArray_CheckExact()
|
||||
check = _testcapi.bytearray_checkexact
|
||||
check = _testlimitedcapi.bytearray_checkexact
|
||||
self.assertTrue(check(bytearray(b'abc')))
|
||||
self.assertFalse(check(b'abc'))
|
||||
self.assertFalse(check(ByteArraySubclass(b'abc')))
|
||||
@ -45,7 +45,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_fromstringandsize(self):
|
||||
# Test PyByteArray_FromStringAndSize()
|
||||
fromstringandsize = _testcapi.bytearray_fromstringandsize
|
||||
fromstringandsize = _testlimitedcapi.bytearray_fromstringandsize
|
||||
|
||||
self.assertEqual(fromstringandsize(b'abc'), bytearray(b'abc'))
|
||||
self.assertEqual(fromstringandsize(b'abc', 2), bytearray(b'ab'))
|
||||
@ -62,7 +62,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_fromobject(self):
|
||||
# Test PyByteArray_FromObject()
|
||||
fromobject = _testcapi.bytearray_fromobject
|
||||
fromobject = _testlimitedcapi.bytearray_fromobject
|
||||
|
||||
self.assertEqual(fromobject(b'abc'), bytearray(b'abc'))
|
||||
self.assertEqual(fromobject(bytearray(b'abc')), bytearray(b'abc'))
|
||||
@ -77,7 +77,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_size(self):
|
||||
# Test PyByteArray_Size()
|
||||
size = _testcapi.bytearray_size
|
||||
size = _testlimitedcapi.bytearray_size
|
||||
|
||||
self.assertEqual(size(bytearray(b'abc')), 3)
|
||||
self.assertEqual(size(ByteArraySubclass(b'abc')), 3)
|
||||
@ -88,7 +88,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_asstring(self):
|
||||
"""Test PyByteArray_AsString()"""
|
||||
asstring = _testcapi.bytearray_asstring
|
||||
asstring = _testlimitedcapi.bytearray_asstring
|
||||
|
||||
self.assertEqual(asstring(bytearray(b'abc'), 4), b'abc\0')
|
||||
self.assertEqual(asstring(ByteArraySubclass(b'abc'), 4), b'abc\0')
|
||||
@ -100,7 +100,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_concat(self):
|
||||
"""Test PyByteArray_Concat()"""
|
||||
concat = _testcapi.bytearray_concat
|
||||
concat = _testlimitedcapi.bytearray_concat
|
||||
|
||||
ba = bytearray(b'abc')
|
||||
self.assertEqual(concat(ba, b'def'), bytearray(b'abcdef'))
|
||||
@ -133,7 +133,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_resize(self):
|
||||
"""Test PyByteArray_Resize()"""
|
||||
resize = _testcapi.bytearray_resize
|
||||
resize = _testlimitedcapi.bytearray_resize
|
||||
|
||||
ba = bytearray(b'abcdef')
|
||||
self.assertEqual(resize(ba, 3), 0)
|
||||
|
@ -1,7 +1,7 @@
|
||||
import unittest
|
||||
from test.support import import_helper
|
||||
|
||||
_testcapi = import_helper.import_module('_testcapi')
|
||||
_testlimitedcapi = import_helper.import_module('_testlimitedcapi')
|
||||
from _testcapi import PY_SSIZE_T_MIN, PY_SSIZE_T_MAX
|
||||
|
||||
NULL = None
|
||||
@ -19,7 +19,7 @@ class BytesLike:
|
||||
class CAPITest(unittest.TestCase):
|
||||
def test_check(self):
|
||||
# Test PyBytes_Check()
|
||||
check = _testcapi.bytes_check
|
||||
check = _testlimitedcapi.bytes_check
|
||||
self.assertTrue(check(b'abc'))
|
||||
self.assertFalse(check('abc'))
|
||||
self.assertFalse(check(bytearray(b'abc')))
|
||||
@ -33,7 +33,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_checkexact(self):
|
||||
# Test PyBytes_CheckExact()
|
||||
check = _testcapi.bytes_checkexact
|
||||
check = _testlimitedcapi.bytes_checkexact
|
||||
self.assertTrue(check(b'abc'))
|
||||
self.assertFalse(check('abc'))
|
||||
self.assertFalse(check(bytearray(b'abc')))
|
||||
@ -47,7 +47,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_fromstringandsize(self):
|
||||
# Test PyBytes_FromStringAndSize()
|
||||
fromstringandsize = _testcapi.bytes_fromstringandsize
|
||||
fromstringandsize = _testlimitedcapi.bytes_fromstringandsize
|
||||
|
||||
self.assertEqual(fromstringandsize(b'abc'), b'abc')
|
||||
self.assertEqual(fromstringandsize(b'abc', 2), b'ab')
|
||||
@ -65,7 +65,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_fromstring(self):
|
||||
# Test PyBytes_FromString()
|
||||
fromstring = _testcapi.bytes_fromstring
|
||||
fromstring = _testlimitedcapi.bytes_fromstring
|
||||
|
||||
self.assertEqual(fromstring(b'abc\0def'), b'abc')
|
||||
self.assertEqual(fromstring(b''), b'')
|
||||
@ -74,7 +74,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_fromobject(self):
|
||||
# Test PyBytes_FromObject()
|
||||
fromobject = _testcapi.bytes_fromobject
|
||||
fromobject = _testlimitedcapi.bytes_fromobject
|
||||
|
||||
self.assertEqual(fromobject(b'abc'), b'abc')
|
||||
self.assertEqual(fromobject(bytearray(b'abc')), b'abc')
|
||||
@ -88,7 +88,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_size(self):
|
||||
# Test PyBytes_Size()
|
||||
size = _testcapi.bytes_size
|
||||
size = _testlimitedcapi.bytes_size
|
||||
|
||||
self.assertEqual(size(b'abc'), 3)
|
||||
self.assertEqual(size(BytesSubclass(b'abc')), 3)
|
||||
@ -100,7 +100,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_asstring(self):
|
||||
"""Test PyBytes_AsString()"""
|
||||
asstring = _testcapi.bytes_asstring
|
||||
asstring = _testlimitedcapi.bytes_asstring
|
||||
|
||||
self.assertEqual(asstring(b'abc', 4), b'abc\0')
|
||||
self.assertEqual(asstring(b'abc\0def', 8), b'abc\0def\0')
|
||||
@ -111,8 +111,8 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_asstringandsize(self):
|
||||
"""Test PyBytes_AsStringAndSize()"""
|
||||
asstringandsize = _testcapi.bytes_asstringandsize
|
||||
asstringandsize_null = _testcapi.bytes_asstringandsize_null
|
||||
asstringandsize = _testlimitedcapi.bytes_asstringandsize
|
||||
asstringandsize_null = _testlimitedcapi.bytes_asstringandsize_null
|
||||
|
||||
self.assertEqual(asstringandsize(b'abc', 4), (b'abc\0', 3))
|
||||
self.assertEqual(asstringandsize(b'abc\0def', 8), (b'abc\0def\0', 7))
|
||||
@ -128,7 +128,7 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_repr(self):
|
||||
# Test PyBytes_Repr()
|
||||
bytes_repr = _testcapi.bytes_repr
|
||||
bytes_repr = _testlimitedcapi.bytes_repr
|
||||
|
||||
self.assertEqual(bytes_repr(b'''abc''', 0), r"""b'abc'""")
|
||||
self.assertEqual(bytes_repr(b'''abc''', 1), r"""b'abc'""")
|
||||
@ -149,7 +149,7 @@ class CAPITest(unittest.TestCase):
|
||||
def test_concat(self, concat=None):
|
||||
"""Test PyBytes_Concat()"""
|
||||
if concat is None:
|
||||
concat = _testcapi.bytes_concat
|
||||
concat = _testlimitedcapi.bytes_concat
|
||||
|
||||
self.assertEqual(concat(b'abc', b'def'), b'abcdef')
|
||||
self.assertEqual(concat(b'a\0b', b'c\0d'), b'a\0bc\0d')
|
||||
@ -182,11 +182,11 @@ class CAPITest(unittest.TestCase):
|
||||
|
||||
def test_concatanddel(self):
|
||||
"""Test PyBytes_ConcatAndDel()"""
|
||||
self.test_concat(_testcapi.bytes_concatanddel)
|
||||
self.test_concat(_testlimitedcapi.bytes_concatanddel)
|
||||
|
||||
def test_decodeescape(self):
|
||||
"""Test PyBytes_DecodeEscape()"""
|
||||
decodeescape = _testcapi.bytes_decodeescape
|
||||
decodeescape = _testlimitedcapi.bytes_decodeescape
|
||||
|
||||
self.assertEqual(decodeescape(b'abc'), b'abc')
|
||||
self.assertEqual(decodeescape(br'\t\n\r\x0b\x0c\x00\\\'\"'),
|
||||
|
@ -5,9 +5,9 @@ from test import support
|
||||
from test.support import import_helper
|
||||
|
||||
try:
|
||||
import _testcapi
|
||||
import _testlimitedcapi
|
||||
except ImportError:
|
||||
_testcapi = None
|
||||
_testlimitedcapi = None
|
||||
|
||||
NULL = None
|
||||
|
||||
@ -20,10 +20,10 @@ class CAPITest(unittest.TestCase):
|
||||
maxDiff = None
|
||||
|
||||
@support.cpython_only
|
||||
@unittest.skipIf(_testcapi is None, 'need _testcapi module')
|
||||
@unittest.skipIf(_testlimitedcapi is None, 'need _testlimitedcapi module')
|
||||
def test_sys_getobject(self):
|
||||
# Test PySys_GetObject()
|
||||
getobject = _testcapi.sys_getobject
|
||||
getobject = _testlimitedcapi.sys_getobject
|
||||
|
||||
self.assertIs(getobject(b'stdout'), sys.stdout)
|
||||
with support.swap_attr(sys, '\U0001f40d', 42):
|
||||
@ -38,10 +38,10 @@ class CAPITest(unittest.TestCase):
|
||||
# CRASHES getobject(NULL)
|
||||
|
||||
@support.cpython_only
|
||||
@unittest.skipIf(_testcapi is None, 'need _testcapi module')
|
||||
@unittest.skipIf(_testlimitedcapi is None, 'need _testlimitedcapi module')
|
||||
def test_sys_setobject(self):
|
||||
# Test PySys_SetObject()
|
||||
setobject = _testcapi.sys_setobject
|
||||
setobject = _testlimitedcapi.sys_setobject
|
||||
|
||||
value = ['value']
|
||||
value2 = ['value2']
|
||||
@ -70,10 +70,10 @@ class CAPITest(unittest.TestCase):
|
||||
# CRASHES setobject(NULL, value)
|
||||
|
||||
@support.cpython_only
|
||||
@unittest.skipIf(_testcapi is None, 'need _testcapi module')
|
||||
@unittest.skipIf(_testlimitedcapi is None, 'need _testlimitedcapi module')
|
||||
def test_sys_getxoptions(self):
|
||||
# Test PySys_GetXOptions()
|
||||
getxoptions = _testcapi.sys_getxoptions
|
||||
getxoptions = _testlimitedcapi.sys_getxoptions
|
||||
|
||||
self.assertIs(getxoptions(), sys._xoptions)
|
||||
|
||||
|
@ -162,8 +162,8 @@
|
||||
@MODULE__XXTESTFUZZ_TRUE@_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c
|
||||
@MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c
|
||||
@MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c _testinternalcapi/test_lock.c _testinternalcapi/pytime.c _testinternalcapi/set.c _testinternalcapi/test_critical_sections.c
|
||||
@MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c _testcapi/vectorcall.c _testcapi/heaptype.c _testcapi/abstract.c _testcapi/bytearray.c _testcapi/bytes.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/pyos.c _testcapi/file.c _testcapi/codec.c _testcapi/immortal.c _testcapi/gc.c _testcapi/sys.c _testcapi/hash.c _testcapi/time.c
|
||||
@MODULE__TESTLIMITEDCAPI_TRUE@_testlimitedcapi _testlimitedcapi.c _testlimitedcapi/vectorcall_limited.c _testlimitedcapi/heaptype_relative.c
|
||||
@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
|
||||
@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
|
||||
@MODULE__TESTCLINIC_TRUE@_testclinic _testclinic.c
|
||||
@MODULE__TESTCLINIC_LIMITED_TRUE@_testclinic_limited _testclinic_limited.c
|
||||
|
||||
|
@ -31,8 +31,6 @@
|
||||
int _PyTestCapi_Init_Vectorcall(PyObject *module);
|
||||
int _PyTestCapi_Init_Heaptype(PyObject *module);
|
||||
int _PyTestCapi_Init_Abstract(PyObject *module);
|
||||
int _PyTestCapi_Init_ByteArray(PyObject *module);
|
||||
int _PyTestCapi_Init_Bytes(PyObject *module);
|
||||
int _PyTestCapi_Init_Unicode(PyObject *module);
|
||||
int _PyTestCapi_Init_GetArgs(PyObject *module);
|
||||
int _PyTestCapi_Init_DateTime(PyObject *module);
|
||||
@ -52,12 +50,10 @@ int _PyTestCapi_Init_Exceptions(PyObject *module);
|
||||
int _PyTestCapi_Init_Code(PyObject *module);
|
||||
int _PyTestCapi_Init_Buffer(PyObject *module);
|
||||
int _PyTestCapi_Init_PyAtomic(PyObject *module);
|
||||
int _PyTestCapi_Init_PyOS(PyObject *module);
|
||||
int _PyTestCapi_Init_File(PyObject *module);
|
||||
int _PyTestCapi_Init_Codec(PyObject *module);
|
||||
int _PyTestCapi_Init_Immortal(PyObject *module);
|
||||
int _PyTestCapi_Init_GC(PyObject *module);
|
||||
int _PyTestCapi_Init_Sys(PyObject *module);
|
||||
int _PyTestCapi_Init_Hash(PyObject *module);
|
||||
int _PyTestCapi_Init_Time(PyObject *module);
|
||||
|
||||
|
@ -4017,12 +4017,6 @@ PyInit__testcapi(void)
|
||||
if (_PyTestCapi_Init_Abstract(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_ByteArray(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Bytes(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Unicode(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
@ -4077,18 +4071,12 @@ PyInit__testcapi(void)
|
||||
if (_PyTestCapi_Init_Buffer(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_PyOS(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_File(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Codec(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Sys(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Immortal(m) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
@ -26,11 +26,23 @@ PyInit__testlimitedcapi(void)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (_PyTestCapi_Init_VectorcallLimited(mod) < 0) {
|
||||
if (_PyTestCapi_Init_ByteArray(mod) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Bytes(mod) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_HeaptypeRelative(mod) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_PyOS(mod) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_Sys(mod) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (_PyTestCapi_Init_VectorcallLimited(mod) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
return mod;
|
||||
}
|
||||
|
@ -160,8 +160,8 @@ bytes_concat(PyObject *Py_UNUSED(module), PyObject *args)
|
||||
if (new) {
|
||||
assert(left != NULL);
|
||||
assert(PyBytes_CheckExact(left));
|
||||
left = PyBytes_FromStringAndSize(PyBytes_AS_STRING(left),
|
||||
PyBytes_GET_SIZE(left));
|
||||
left = PyBytes_FromStringAndSize(PyBytes_AsString(left),
|
||||
PyBytes_Size(left));
|
||||
if (left == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
@ -191,8 +191,8 @@ bytes_concatanddel(PyObject *Py_UNUSED(module), PyObject *args)
|
||||
if (new) {
|
||||
assert(left != NULL);
|
||||
assert(PyBytes_CheckExact(left));
|
||||
left = PyBytes_FromStringAndSize(PyBytes_AS_STRING(left),
|
||||
PyBytes_GET_SIZE(left));
|
||||
left = PyBytes_FromStringAndSize(PyBytes_AsString(left),
|
||||
PyBytes_Size(left));
|
||||
if (left == NULL) {
|
||||
return NULL;
|
||||
}
|
@ -21,7 +21,11 @@
|
||||
# error "Py_BUILD_CORE macro must not be defined"
|
||||
#endif
|
||||
|
||||
int _PyTestCapi_Init_VectorcallLimited(PyObject *module);
|
||||
int _PyTestCapi_Init_ByteArray(PyObject *module);
|
||||
int _PyTestCapi_Init_Bytes(PyObject *module);
|
||||
int _PyTestCapi_Init_HeaptypeRelative(PyObject *module);
|
||||
int _PyTestCapi_Init_PyOS(PyObject *module);
|
||||
int _PyTestCapi_Init_Sys(PyObject *module);
|
||||
int _PyTestCapi_Init_VectorcallLimited(PyObject *module);
|
||||
|
||||
#endif // Py_TESTLIMITEDCAPI_PARTS_H
|
||||
|
33
Modules/_testlimitedcapi/util.h
Normal file
33
Modules/_testlimitedcapi/util.h
Normal file
@ -0,0 +1,33 @@
|
||||
#define NULLABLE(x) do { \
|
||||
if (x == Py_None) { \
|
||||
x = NULL; \
|
||||
} \
|
||||
} while (0);
|
||||
|
||||
#define RETURN_INT(value) do { \
|
||||
int _ret = (value); \
|
||||
if (_ret == -1) { \
|
||||
assert(PyErr_Occurred()); \
|
||||
return NULL; \
|
||||
} \
|
||||
assert(!PyErr_Occurred()); \
|
||||
return PyLong_FromLong(_ret); \
|
||||
} while (0)
|
||||
|
||||
#define RETURN_SIZE(value) do { \
|
||||
Py_ssize_t _ret = (value); \
|
||||
if (_ret == -1) { \
|
||||
assert(PyErr_Occurred()); \
|
||||
return NULL; \
|
||||
} \
|
||||
assert(!PyErr_Occurred()); \
|
||||
return PyLong_FromSsize_t(_ret); \
|
||||
} while (0)
|
||||
|
||||
/* Marker to check that pointer value was set. */
|
||||
static const char uninitialized[] = "uninitialized";
|
||||
#define UNINITIALIZED_PTR ((void *)uninitialized)
|
||||
/* Marker to check that Py_ssize_t value was set. */
|
||||
#define UNINITIALIZED_SIZE ((Py_ssize_t)236892191)
|
||||
/* Marker to check that integer value was set. */
|
||||
#define UNINITIALIZED_INT (63256717)
|
@ -98,8 +98,6 @@
|
||||
<ClCompile Include="..\Modules\_testcapi\vectorcall.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\heaptype.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\abstract.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\bytearray.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\bytes.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\unicode.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\dict.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\set.c" />
|
||||
@ -118,10 +116,8 @@
|
||||
<ClCompile Include="..\Modules\_testcapi\code.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\buffer.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\pyatomic.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\pyos.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\file.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\codec.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\sys.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\hash.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\time.c" />
|
||||
<ClCompile Include="..\Modules\_testcapi\immortal.c" />
|
||||
|
@ -30,12 +30,6 @@
|
||||
<ClCompile Include="..\Modules\_testcapi\abstract.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\bytearray.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\bytes.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\unicode.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@ -90,18 +84,12 @@
|
||||
<ClCompile Include="..\Modules\_testcapi\pyatomic.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\pyos.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\file.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\codec.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\sys.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testcapi\hash.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -94,8 +94,12 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\vectorcall_limited.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\bytearray.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\bytes.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\heaptype_relative.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\pyos.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\sys.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\vectorcall_limited.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\PC\python_nt.rc" />
|
||||
@ -113,4 +117,4 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -9,12 +9,12 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\vectorcall_limited.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\heaptype_relative.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\bytearray.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\bytes.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\heaptype_relative.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\pyos.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\sys.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi\vectorcall_limited.c" />
|
||||
<ClCompile Include="..\Modules\_testlimitedcapi.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -22,4 +22,4 @@
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
Loading…
Reference in New Issue
Block a user