bpo-40826: Fix test_repl.test_close_stdin() on Windows (GH-20779)

test_repl.test_close_stdin() now calls
support.suppress_msvcrt_asserts() to fix the test on Windows.

* Move suppress_msvcrt_asserts() from test.libregrtest.setup to
  test.support. Make its verbose parameter optional: verbose=False by
  default.
* Add msvcrt.GetErrorMode().
* SuppressCrashReport now uses GetErrorMode() and SetErrorMode() of
  the msvcrt module, rather than using ctypes.
* Remove also an unused variable (deadline) in wait_process().
This commit is contained in:
Victor Stinner 2020-06-10 18:49:23 +02:00 committed by GitHub
parent d36cf5f1d2
commit f6e58aefde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 81 additions and 49 deletions

View file

@ -482,6 +482,25 @@ msvcrt_set_error_mode_impl(PyObject *module, int mode)
}
#endif /* _DEBUG */
/*[clinic input]
msvcrt.GetErrorMode
Wrapper around GetErrorMode.
[clinic start generated code]*/
static PyObject *
msvcrt_GetErrorMode_impl(PyObject *module)
/*[clinic end generated code: output=3103fc6145913591 input=5a7fb083b6dd71fd]*/
{
unsigned int res;
_Py_BEGIN_SUPPRESS_IPH
res = GetErrorMode();
_Py_END_SUPPRESS_IPH
return PyLong_FromUnsignedLong(res);
}
/*[clinic input]
msvcrt.SetErrorMode
@ -520,6 +539,7 @@ static struct PyMethodDef msvcrt_functions[] = {
MSVCRT_GETCHE_METHODDEF
MSVCRT_PUTCH_METHODDEF
MSVCRT_UNGETCH_METHODDEF
MSVCRT_GETERRORMODE_METHODDEF
MSVCRT_SETERRORMODE_METHODDEF
MSVCRT_CRTSETREPORTFILE_METHODDEF
MSVCRT_CRTSETREPORTMODE_METHODDEF