bpo-34008: Allow to call Py_Main() after Py_Initialize() (GH-8043)

Py_Main() can again be called after Py_Initialize(), as in Python
3.6. The new configuration is ignored, except of
_PyMainInterpreterConfig.argv which is used to update sys.argv.
This commit is contained in:
Victor Stinner 2018-07-20 17:34:23 +02:00 committed by GitHub
parent 2c5c0a367c
commit fb47bca9ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 52 additions and 6 deletions

View file

@ -238,6 +238,14 @@ class EmbeddingTests(unittest.TestCase):
self.assertEqual(out, '')
self.assertEqual(err, '')
def test_initialize_pymain(self):
"""
bpo-34008: Calling Py_Main() after Py_Initialize() must not fail.
"""
out, err = self.run_embedded_interpreter("initialize_pymain")
self.assertEqual(out.rstrip(), "Py_Main() after Py_Initialize: sys.argv=['-c', 'arg2']")
self.assertEqual(err, '')
if __name__ == "__main__":
unittest.main()