summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_capi.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-11-24 11:09:24 (GMT)
committerGitHub <noreply@github.com>2017-11-24 11:09:24 (GMT)
commit9e87e7776f7ace66baaf7247233afdabd00c2b44 (patch)
treee43699904e2de8394d7e408b231174f7a87c9b4a /Lib/test/test_capi.py
parent4864a619dc1cc9092780ccf5a6327e8abf66133d (diff)
downloadcpython-9e87e7776f7ace66baaf7247233afdabd00c2b44.zip
cpython-9e87e7776f7ace66baaf7247233afdabd00c2b44.tar.gz
cpython-9e87e7776f7ace66baaf7247233afdabd00c2b44.tar.bz2
bpo-32096: Remove obj and mem from _PyRuntime (#4532)
bpo-32096, bpo-30860: Partially revert the commit 2ebc5ce42a8a9e047e790aefbf9a94811569b2b6: * Move structures back from Include/internal/mem.h to Objects/obmalloc.c * Remove _PyObject_Initialize() and _PyMem_Initialize() * Remove Include/internal/pymalloc.h * Add test_capi.test_pre_initialization_api(): Make sure that it's possible to call Py_DecodeLocale(), and then call Py_SetProgramName() with the decoded string, before Py_Initialize(). PyMem_RawMalloc() and Py_DecodeLocale() can be called again before _PyRuntimeState_Init(). Co-Authored-By: Eric Snow <ericsnowcurrently@gmail.com>
Diffstat (limited to 'Lib/test/test_capi.py')
-rw-r--r--Lib/test/test_capi.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py
index bb5b2a3..2fe0fec 100644
--- a/Lib/test/test_capi.py
+++ b/Lib/test/test_capi.py
@@ -593,6 +593,16 @@ class EmbeddingTests(unittest.TestCase):
self.maxDiff = None
self.assertEqual(out.strip(), expected_output)
+ def test_pre_initialization_api(self):
+ """
+ Checks the few parts of the C-API that work before the runtine
+ is initialized (via Py_Initialize()).
+ """
+ env = dict(os.environ, PYTHONPATH=os.pathsep.join(sys.path))
+ out, err = self.run_embedded_interpreter("pre_initialization_api", env=env)
+ self.assertEqual(out, '')
+ self.assertEqual(err, '')
+
class SkipitemTest(unittest.TestCase):