Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
_winapi.CreateNamedPipe(pipe_name, _winapi.PIPE_ACCESS_DUPLEX, 8, 2, 0, 0, 0, 0)
+def test_assert_unicode():
+ import sys
+ sys.addaudithook(lambda *args: None)
+ try:
+ sys.audit(9)
+ except TypeError:
+ pass
+ else:
+ raise RuntimeError("Expected sys.audit(9) to fail.")
+
+
if __name__ == "__main__":
from test.support import suppress_msvcrt_asserts
self.assertEqual(actual, expected)
+ def test_assert_unicode(self):
+ # See gh-126018
+ returncode, _, stderr = self.run_python("test_assert_unicode")
+ if returncode:
+ self.fail(stderr)
+
+
if __name__ == "__main__":
unittest.main()
--- /dev/null
+Fix a crash in :func:`sys.audit` when passing a non-string as first argument
+and Python was compiled in debug mode.
}
assert(args[0] != NULL);
- assert(PyUnicode_Check(args[0]));
if (!should_audit(tstate->interp)) {
Py_RETURN_NONE;