diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -130,6 +130,17 @@ self.assertEqual(out, b'') self.assertEqual(err, b'') + # test EXIT_SUCCESS and EXIT_FAILURE constatnts + self.assertNotEqual(sys.EXIT_SUCCESS, sys.EXIT_FAILURE) + rc, out, err = assert_python_ok('-c', 'import sys; sys.exit(sys.EXIT_SUCCESS)') + self.assertEqual(rc, sys.EXIT_SUCCESS) + self.assertEqual(out, b'') + self.assertEqual(err, b'') + rc, out, err = assert_python_failure('-c', 'import sys; sys.exit(sys.EXIT_FAILURE)') + self.assertEqual(rc, sys.EXIT_FAILURE) + self.assertEqual(out, b'') + self.assertEqual(err, b'') + def check_exit_message(code, expected, **env_vars): rc, out, err = assert_python_failure('-c', code, **env_vars) self.assertEqual(rc, 1) diff --git a/Python/sysmodule.c b/Python/sysmodule.c --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -1820,6 +1820,10 @@ #undef SET_SYS_FROM_STRING #undef SET_SYS_FROM_STRING_BORROW + + PyModule_AddIntMacro(m, EXIT_SUCCESS); + PyModule_AddIntMacro(m, EXIT_FAILURE); + if (PyErr_Occurred()) return NULL; return m;