diff options
Diffstat (limited to 'Lib/test')
-rwxr-xr-x | Lib/test/regrtest.py | 11 | ||||
-rw-r--r-- | Lib/test/test_logging.py | 15 |
2 files changed, 21 insertions, 5 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 2a08de4c72..ccbe6f9699 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -630,9 +630,11 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, if test is None: finished += 1 continue + accumulate_result(test, result) if not quiet: - print("[{1:{0}}{2}] {3}".format( - test_count_width, test_index, test_count, test)) + print("[{1:{0}}{2}/{3}] {4}".format( + test_count_width, test_index, test_count, + len(bad), test)) if stdout: print(stdout) if stderr: @@ -642,7 +644,6 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, raise KeyboardInterrupt # What else? if result[0] == CHILD_ERROR: raise Exception("Child error on {}: {}".format(test, result[1])) - accumulate_result(test, result) test_index += 1 except KeyboardInterrupt: interrupted = True @@ -652,8 +653,8 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, else: for test_index, test in enumerate(tests, 1): if not quiet: - print("[{1:{0}}{2}] {3}".format( - test_count_width, test_index, test_count, test)) + print("[{1:{0}}{2}/{3}] {4}".format( + test_count_width, test_index, test_count, len(bad), test)) sys.stdout.flush() if trace: # If we're tracing code coverage, then we don't exit with status diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 3118065a76..8166b3366d 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -893,14 +893,29 @@ if threading: def handle(self): self.server._handler(self) + + def finish(self): + data = self.wfile.getvalue() + try: + super(DelegatingUDPRequestHandler, self).finish() + except socket.error: + msg = ('Error during finish, while sending %r, ' + 'closed = %s') + print(msg % (data, self.server._closed), file=sys.stderr) + raise + ThreadingUDPServer.__init__(self, addr, DelegatingUDPRequestHandler, bind_and_activate) ControlMixin.__init__(self, handler, poll_interval) + self._closed = False def server_bind(self): super(TestUDPServer, self).server_bind() self.port = self.socket.getsockname()[1] + def server_close(self): + super(TestUDPServer, self).server_close() + self._closed = True # - end of server_helper section |