(self)
| 413 | self.server_ready.set() |
| 414 | |
| 415 | def _setUp(self): |
| 416 | self.enterContext(threading_helper.wait_threads_exit()) |
| 417 | |
| 418 | self.server_ready = threading.Event() |
| 419 | self.client_ready = threading.Event() |
| 420 | self.done = threading.Event() |
| 421 | self.queue = queue.Queue(1) |
| 422 | self.server_crashed = False |
| 423 | |
| 424 | def raise_queued_exception(): |
| 425 | if self.queue.qsize(): |
| 426 | raise self.queue.get() |
| 427 | self.addCleanup(raise_queued_exception) |
| 428 | |
| 429 | # Do some munging to start the client test. |
| 430 | methodname = self.id() |
| 431 | i = methodname.rfind('.') |
| 432 | methodname = methodname[i+1:] |
| 433 | test_method = getattr(self, '_' + methodname) |
| 434 | self.client_thread = thread.start_new_thread( |
| 435 | self.clientRun, (test_method,)) |
| 436 | |
| 437 | try: |
| 438 | self.__setUp() |
| 439 | except: |
| 440 | self.server_crashed = True |
| 441 | raise |
| 442 | finally: |
| 443 | self.server_ready.set() |
| 444 | self.client_ready.wait() |
| 445 | self.addCleanup(self.done.wait) |
| 446 | |
| 447 | def clientRun(self, test_func): |
| 448 | self.server_ready.wait() |
nothing calls this directly
no test coverage detected