@@ -151,18 +151,30 @@ def test_CrtSetReportMode(self):
151151 msvcrt .CRTDBG_MODE_DEBUG )
152152 self .assertIs (type (returned ), int )
153153 self .assertNotEqual (returned , - 1 )
154- self .assertEqual (old , returned )
154+
155+ returned = msvcrt .CrtSetReportMode (msvcrt .CRT_WARN ,
156+ msvcrt .CRTDBG_REPORT_MODE )
157+ self .assertIs (type (returned ), int )
158+ self .assertEqual (returned , msvcrt .CRTDBG_MODE_DEBUG )
155159
156160 @unittest .skipUnless (Py_DEBUG , "only available under debug build" )
157161 def test_CrtSetReportFile (self ):
158- old = msvcrt .CrtSetReportFile (msvcrt .CRT_WARN ,
159- msvcrt .CRTDBG_REPORT_FILE )
160- self .addCleanup (msvcrt .CrtSetReportFile , msvcrt .CRT_WARN , old )
162+ # Set the report mode to CRTDBG_REPORT_FILE at first.
163+ old_mode = msvcrt .CrtSetReportMode (msvcrt .CRT_WARN ,
164+ msvcrt .CRTDBG_REPORT_MODE )
165+ self .addCleanup (msvcrt .CrtSetReportMode , msvcrt .CRT_WARN , old_mode )
166+ old_file = msvcrt .CrtSetReportFile (msvcrt .CRT_WARN ,
167+ msvcrt .CRTDBG_REPORT_FILE )
168+ self .addCleanup (msvcrt .CrtSetReportFile , msvcrt .CRT_WARN , old_file )
161169
162170 returned = msvcrt .CrtSetReportFile (msvcrt .CRT_WARN ,
163171 msvcrt .CRTDBG_FILE_STDOUT )
164172 self .assertIs (type (returned ), int )
165- self .assertEqual (old , returned )
173+
174+ returned = msvcrt .CrtSetReportFile (msvcrt .CRT_WARN ,
175+ msvcrt .CRTDBG_REPORT_FILE )
176+ self .assertIs (type (returned ), int )
177+ self .assertEqual (returned , msvcrt .get_osfhandle (sys .stdout .fileno ()))
166178
167179
168180if __name__ == "__main__" :
0 commit comments