]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-116417: Move 4 limited C API test files to _testlimitedcapi (#116571)
authorVictor Stinner <vstinner@python.org>
Mon, 11 Mar 2024 10:28:16 +0000 (11:28 +0100)
committerGitHub <noreply@github.com>
Mon, 11 Mar 2024 10:28:16 +0000 (10:28 +0000)
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.

17 files changed:
Lib/test/test_capi/test_bytearray.py
Lib/test/test_capi/test_bytes.py
Lib/test/test_capi/test_sys.py
Modules/Setup.stdlib.in
Modules/_testcapi/parts.h
Modules/_testcapimodule.c
Modules/_testlimitedcapi.c
Modules/_testlimitedcapi/bytearray.c [moved from Modules/_testcapi/bytearray.c with 100% similarity]
Modules/_testlimitedcapi/bytes.c [moved from Modules/_testcapi/bytes.c with 95% similarity]
Modules/_testlimitedcapi/parts.h
Modules/_testlimitedcapi/pyos.c [moved from Modules/_testcapi/pyos.c with 100% similarity]
Modules/_testlimitedcapi/sys.c [moved from Modules/_testcapi/sys.c with 100% similarity]
Modules/_testlimitedcapi/util.h [new file with mode: 0644]
PCbuild/_testcapi.vcxproj
PCbuild/_testcapi.vcxproj.filters
PCbuild/_testlimitedcapi.vcxproj
PCbuild/_testlimitedcapi.vcxproj.filters

index 833122c4e319d8949b244574f331a341a9038b50..39099f6b82240f96c5c6e4ae47807a43c1843d7a 100644 (file)
@@ -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)
index bb5d724ff187d471a11d85bb8fb83b0e846cea4a..a2ba7708f8fd260e5d3499318c4e2115637bb87e 100644 (file)
@@ -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\\\'\"'),
index 08bf0370fc59b5a9f1bcee51c60887c7765ea251..54a8e026d883d498e26ef7c2270deb8a4265ad5a 100644 (file)
@@ -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)
 
index e8eaafd8b99b98d0bdd798d9bed0282f4773e03f..deada66cf1a8072a1fe651a3689142ca43f56390 100644 (file)
 @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
 
index 2a043cfa73fa8b80f62fe66010ea26ce151ab1b2..f9bdd830775a75632ece15cceb6e97d13b06c173 100644 (file)
@@ -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);
 
index b6536045e645f93f1005f85323e1e1919ec076b0..b5e646f904b2d1af18b880e0d2cc1296fecc2ccf 100644 (file)
@@ -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;
     }
index da09e3f508446494799afe589469c67f459dc661..49bf6a3ea39613f8c989ee331a64a7e456a21160 100644 (file)
@@ -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;
 }
similarity index 95%
rename from Modules/_testcapi/bytes.c
rename to Modules/_testlimitedcapi/bytes.c
index da10503f6f68563d6324035c27ae39bc605640f5..a14c4f9d4d30a8c8a19a81684ab800fed3719c85 100644 (file)
@@ -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;
         }
index 83590a7afd3228dc86f17cfc833dfc3566111403..039576d5cf4c29191cc80489e601c566075bd765 100644 (file)
 #  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
diff --git a/Modules/_testlimitedcapi/util.h b/Modules/_testlimitedcapi/util.h
new file mode 100644 (file)
index 0000000..f26d765
--- /dev/null
@@ -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)
index 3ca4c5f86c783c8050dcde4c2c4a6454fda2c257..6522cb1fcf5c63d5f4a23b5b8b1710c3f08d04d9 100644 (file)
@@ -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" />
     <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" />
index 651eb1d6ba0b7f3ffa2ecb45da6c8003349df3d0..772a9a861517ecd488d7bc0fdb66594fbf12c3ef 100644 (file)
     <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>
     <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>
index 1b27942c1da9ae5078d45139b2140514e3ec763a..1afeacaa93396e0032dd9c70515c0e762f40bc9f 100644 (file)
   </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" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
index c4764a55f410a05424c2543704568a721bc532e0..b3eeb86185c372996e8fd641ae32bff60ce6fbc9 100644 (file)
@@ -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>
\ No newline at end of file
+</Project>