summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPeter Åstrand (astrand) <astrand@cendio.se>2013-03-20 10:03:04 +0100
committerPeter Åstrand (astrand) <astrand@cendio.se>2013-03-20 10:03:04 +0100
commitd0608a63b6290949f5bf0fd115db11eb21b4883c (patch)
treef699591ab481f42b3a7095f2d7c26f811b692820 /tests
parent09f3ec7125e49fb396a4747042eee2acffb2c3a7 (diff)
downloadwebsockify-d0608a63b6290949f5bf0fd115db11eb21b4883c.tar.gz
Make echo.py and load.py work again, after the refactoring of
websocket.py: * With echo.py, which doesn't need any server configuration, we can just switch over our application class to inherit from WebSocketRequestHandler instead of WebSocketServer. Also, need to use the new method name new_websocket_client. * With load.py, since we have the "delay" configuration, we need both a server class and a request handler. Note that for both tests, I've removed the raising of self.EClose(closed). This is incorrect. First of all, it's described as "An exception before the WebSocket connection was established", so not suitable for our case. Second, it will cause send_close to be called twice. Finally, self.EClose is now in the WebSocketServer class, and not a member of the request handler.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/echo.py9
-rwxr-xr-xtests/load.py25
2 files changed, 17 insertions, 17 deletions
diff --git a/tests/echo.py b/tests/echo.py
index d151bfb..9b1d9a6 100755
--- a/tests/echo.py
+++ b/tests/echo.py
@@ -12,15 +12,15 @@ as taken from http://docs.python.org/dev/library/ssl.html#certificates
import os, sys, select, optparse
sys.path.insert(0,os.path.dirname(__file__) + "/../websockify")
-from websocket import WebSocketServer
+from websocket import WebSocketServer, WebSocketRequestHandler
-class WebSocketEcho(WebSocketServer):
+class WebSocketEcho(WebSocketRequestHandler):
"""
WebSockets server that echos back whatever is received from the
client. """
buffer_size = 8096
- def new_client(self):
+ def new_websocket_client(self):
"""
Echo back whatever is received.
"""
@@ -49,7 +49,6 @@ class WebSocketEcho(WebSocketServer):
if closed:
self.send_close()
- raise self.EClose(closed)
if __name__ == '__main__':
parser = optparse.OptionParser(usage="%prog [options] listen_port")
@@ -70,6 +69,6 @@ if __name__ == '__main__':
parser.error("Invalid arguments")
opts.web = "."
- server = WebSocketEcho(**opts.__dict__)
+ server = WebSocketServer(WebSocketEcho, **opts.__dict__)
server.start_server()
diff --git a/tests/load.py b/tests/load.py
index ba2ebde..bd32e68 100755
--- a/tests/load.py
+++ b/tests/load.py
@@ -8,28 +8,30 @@ given a sequence number. Any errors are reported and counted.
import sys, os, select, random, time, optparse
sys.path.insert(0,os.path.dirname(__file__) + "/../websockify")
-from websocket import WebSocketServer
+from websocket import WebSocketServer, WebSocketRequestHandler
-class WebSocketLoad(WebSocketServer):
+class WebSocketLoadServer(WebSocketServer):
- buffer_size = 65536
-
- max_packet_size = 10000
recv_cnt = 0
send_cnt = 0
def __init__(self, *args, **kwargs):
- self.errors = 0
self.delay = kwargs.pop('delay')
+ WebSocketServer.__init__(self, *args, **kwargs)
+
+
+class WebSocketLoad(WebSocketRequestHandler):
+
+ max_packet_size = 10000
+
+ def new_websocket_client(self):
print "Prepopulating random array"
self.rand_array = []
for i in range(0, self.max_packet_size):
self.rand_array.append(random.randint(0, 9))
- WebSocketServer.__init__(self, *args, **kwargs)
-
- def new_client(self):
+ self.errors = 0
self.send_cnt = 0
self.recv_cnt = 0
@@ -61,14 +63,13 @@ class WebSocketLoad(WebSocketServer):
if closed:
self.send_close()
- raise self.EClose(closed)
now = time.time() * 1000
if client in outs:
if c_pend:
last_send = now
c_pend = self.send_frames()
- elif now > (last_send + self.delay):
+ elif now > (last_send + self.server.delay):
last_send = now
c_pend = self.send_frames([self.generate()])
@@ -162,6 +163,6 @@ if __name__ == '__main__':
parser.error("Invalid arguments")
opts.web = "."
- server = WebSocketLoad(**opts.__dict__)
+ server = WebSocketLoadServer(WebSocketLoad, **opts.__dict__)
server.start_server()