[tor-commits] [stem/master] Exercising is_alive in ControlMessage integ tests
atagar at torproject.org
atagar at torproject.org
Tue Jan 31 17:25:46 UTC 2012
commit 2ae0298e816ccb70bf9ab52996a4c78e26f897f0
Author: Damian Johnson <atagar at torproject.org>
Date: Tue Jan 31 09:23:31 2012 -0800
Exercising is_alive in ControlMessage integ tests
Adding a basic check for the is_alive method. The method is a little troubesome
because if you aren't continually pulling from the socket then you won't detect
a disconnect until the following usage.
This was already documented and iirc it won't be an issue in practice for
controllers since they continually pull from the socket. But still, for low
level controller interaction it's kinda confusing.
---
test/integ/socket/control_message.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/test/integ/socket/control_message.py b/test/integ/socket/control_message.py
index ce25c8f..2eb2a6e 100644
--- a/test/integ/socket/control_message.py
+++ b/test/integ/socket/control_message.py
@@ -36,11 +36,17 @@ class TestControlMessage(unittest.TestCase):
# an error until we read from the socket. However, with a control socket
# the write will cause a SocketError.
+ self.assertTrue(control_socket.is_alive())
+
try:
control_socket.send("GETINFO version")
except: pass
+ # at this point is_alive is True with a control port and False with a
+ # control socket
+
self.assertRaises(stem.socket.SocketClosed, control_socket.recv)
+ self.assertFalse(control_socket.is_alive())
# Additional socket usage should fail, and pulling more responses will fail
# with more closed exceptions.
More information about the tor-commits
mailing list