content/base/test/websocket_hybi/file_check-binary-messages_wsh.py

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 from mod_pywebsocket import common
michael@0 2 from mod_pywebsocket import msgutil
michael@0 3
michael@0 4
michael@0 5 def web_socket_do_extra_handshake(request):
michael@0 6 pass # Always accept.
michael@0 7
michael@0 8
michael@0 9 def web_socket_transfer_data(request):
michael@0 10 expected_messages = ['Hello, world!', '', all_distinct_bytes()]
michael@0 11
michael@0 12 for test_number, expected_message in enumerate(expected_messages):
michael@0 13 message = msgutil.receive_message(request)
michael@0 14 if type(message) == str and message == expected_message:
michael@0 15 msgutil.send_message(request, 'PASS: Message #%d.' % test_number)
michael@0 16 else:
michael@0 17 msgutil.send_message(request, 'FAIL: Message #%d: Received unexpected message: %r' % (test_number, message))
michael@0 18
michael@0 19
michael@0 20 def all_distinct_bytes():
michael@0 21 return ''.join([chr(i) for i in xrange(256)])

mercurial