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

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.
(cherry picked from commit fb47bca9ee2d07ce96df94b4e4abafd11826eb01)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py
index f3b6043..024c3f9 100644
--- a/Lib/test/test_embed.py
+++ b/Lib/test/test_embed.py
@@ -238,6 +238,14 @@
         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()