[telepathy-gabble/master] add test-receive-file-and-close-socket-while-receiving.py

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Mar 23 05:23:25 PDT 2009


---
 tests/twisted/Makefile.am                          |    1 +
 ...eceive-file-and-close-socket-while-receiving.py |   26 ++++++++++++++++++++
 2 files changed, 27 insertions(+), 0 deletions(-)
 create mode 100644 tests/twisted/file-transfer/test-receive-file-and-close-socket-while-receiving.py

diff --git a/tests/twisted/Makefile.am b/tests/twisted/Makefile.am
index 89f17a3..f73dbb5 100644
--- a/tests/twisted/Makefile.am
+++ b/tests/twisted/Makefile.am
@@ -94,6 +94,7 @@ TWISTED_TESTS = \
 	jingle/test-content-complex.py \
 	jingle/test-wait-for-caps.py \
 	jingle/test-wait-for-caps-incomplete.py \
+	file-transfer/test-receive-file-and-close-socket-while-receiving.py \
 	file-transfer/test-receive-file-and-disconnect.py \
 	file-transfer/test-receive-file-and-sender-disconnect-while-pending.py \
 	file-transfer/test-receive-file-and-sender-disconnect-while-transfering.py \
diff --git a/tests/twisted/file-transfer/test-receive-file-and-close-socket-while-receiving.py b/tests/twisted/file-transfer/test-receive-file-and-close-socket-while-receiving.py
new file mode 100644
index 0000000..1685e1e
--- /dev/null
+++ b/tests/twisted/file-transfer/test-receive-file-and-close-socket-while-receiving.py
@@ -0,0 +1,26 @@
+import socket
+
+from file_transfer_helper import exec_file_transfer_test, ReceiveFileTest,\
+    FT_STATE_CANCELLED, FT_STATE_CHANGE_REASON_LOCAL_ERROR
+
+class ReceiveFileAndCancelWhileReceiving(ReceiveFileTest):
+    def receive_file(self):
+        # Connect to Salut's socket
+        s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        s.connect(self.address)
+
+        # for some reason the socket is closed
+        s.close()
+
+        # we receive one more byte from the sender
+        self.bytestream.send_data(self.file.data[2:3])
+
+        self.q.expect('dbus-signal', signal='FileTransferStateChanged',
+            args=[FT_STATE_CANCELLED, FT_STATE_CHANGE_REASON_LOCAL_ERROR])
+
+        self.channel.Close()
+        self.q.expect('dbus-signal', signal='Closed')
+        return True
+
+if __name__ == '__main__':
+    exec_file_transfer_test(ReceiveFileAndCancelWhileReceiving)
-- 
1.5.6.5




More information about the telepathy-commits mailing list