diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index 23e65df6719..87f327414b5 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -549,6 +549,14 @@ class CAPITest(unittest.TestCase): s = _testcapi.pyobject_bytes_from_null() self.assertEqual(s, b'') + def test_Py_CompileString(self): + # Check that Py_CompileString respects the coding cookie + _compile = _testcapi.Py_CompileString + code = b"# -*- coding: latin1 -*-\nprint('\xc2\xa4')\n" + result = _compile(code) + expected = compile(code, "", "exec") + self.assertEqual(result.co_consts, expected.co_consts) + class TestPendingCalls(unittest.TestCase): @@ -926,14 +934,6 @@ class Test_ModuleStateAccess(unittest.TestCase): with self.assertRaises(TypeError): increment_count(1, 2, 3) - def test_Py_CompileString(self): - # Check that Py_CompileString respects the coding cookie - _compile = _testcapi.Py_CompileString - code = b"# -*- coding: latin1 -*-\nprint('\xc2\xa4')\n" - result = _compile(code) - expected = compile(code, "", "exec") - self.assertEqual(result.co_consts, expected.co_consts) - if __name__ == "__main__": unittest.main() diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index d1f75639537..ad1b0745435 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -339,7 +339,7 @@ pycompilestring(PyObject* self, PyObject *obj) { if (the_string == NULL) { return NULL; } - return Py_CompileString(the_string, "blech", Py_file_input); + return Py_CompileString(the_string, "", Py_file_input); } static PyObject*