(self)
| 82 | return None |
| 83 | |
| 84 | def close(self): |
| 85 | # type: () -> None |
| 86 | global open_test_sockets |
| 87 | |
| 88 | if self.closed: |
| 89 | return |
| 90 | |
| 91 | for s in self.paired_sockets: |
| 92 | try: |
| 93 | s.paired_sockets.remove(self) |
| 94 | except (ValueError, AttributeError, TypeError): |
| 95 | pass |
| 96 | |
| 97 | if not self._has_external_obj_pip: |
| 98 | super(TestSocket, self).close() |
| 99 | else: |
| 100 | # We don't close external object pipes |
| 101 | self.closed = True |
| 102 | |
| 103 | try: |
| 104 | open_test_sockets.remove(self) |
| 105 | except (ValueError, AttributeError, TypeError): |
| 106 | pass |
| 107 | |
| 108 | def pair(self, sock): |
| 109 | # type: (TestSocket) -> None |
no test coverage detected