(self, addr, hdlr)
| 714 | imap_class = imaplib.IMAP4 |
| 715 | |
| 716 | def make_server(self, addr, hdlr): |
| 717 | |
| 718 | class MyServer(self.server_class): |
| 719 | def handle_error(self, request, client_address): |
| 720 | self.close_request(request) |
| 721 | self.server_close() |
| 722 | raise |
| 723 | |
| 724 | if verbose: |
| 725 | print("creating server") |
| 726 | server = MyServer(addr, hdlr) |
| 727 | self.assertEqual(server.server_address, server.socket.getsockname()) |
| 728 | |
| 729 | if verbose: |
| 730 | print("server created") |
| 731 | print("ADDR =", addr) |
| 732 | print("CLASS =", self.server_class) |
| 733 | print("HDLR =", server.RequestHandlerClass) |
| 734 | |
| 735 | t = threading.Thread( |
| 736 | name='%s serving' % self.server_class, |
| 737 | target=server.serve_forever, |
| 738 | # Short poll interval to make the test finish quickly. |
| 739 | # Time between requests is short enough that we won't wake |
| 740 | # up spuriously too many times. |
| 741 | kwargs={'poll_interval': 0.01}) |
| 742 | t.daemon = True # In case this function raises. |
| 743 | t.start() |
| 744 | if verbose: |
| 745 | print("server running") |
| 746 | return server, t |
| 747 | |
| 748 | def reap_server(self, server, thread): |
| 749 | if verbose: |
no test coverage detected