branch: externals/websocket commit df976e3b197d6785e4f7dfe4bb5c12b75e51a4e1 Merge: 341ec2b9d6 1c6d6e84c9 Author: Andrew Hyatt <ahy...@gmail.com> Commit: Andrew Hyatt <ahy...@gmail.com>
Merge commit '1c6d6e84c94d9f647fee2a19434d8e4e95599f63' into sten0/enable-option-of-localhost-test-server --- testserver.py | 35 +++++++++++++++++++++++++++++++++++ websocket-functional-test.el | 17 ++++++++++++----- 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/testserver.py b/testserver.py new file mode 100644 index 0000000000..79cd912882 --- /dev/null +++ b/testserver.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +import logging +import tornado +import tornado.web +from tornado import httpserver +from tornado import ioloop +from tornado import websocket + + +class EchoWebSocket(websocket.WebSocketHandler): + + def open(self): + logging.info("OPEN") + + def on_message(self, message): + logging.info("ON_MESSAGE: {0}".format(message)) + self.write_message("You said: {0}".format(message)) + + def on_close(self): + logging.info("ON_CLOSE") + + def allow_draft76(self): + return False + + +if __name__ == "__main__": + import tornado.options + tornado.options.parse_command_line() + application = tornado.web.Application([ + (r"/", EchoWebSocket), + ]) + server = httpserver.HTTPServer(application) + server.listen(9999, "127.0.0.1") + logging.info("STARTED: Server start listening") + ioloop.IOLoop.instance().start() diff --git a/websocket-functional-test.el b/websocket-functional-test.el index df0df67dac..c70ebd2cb8 100644 --- a/websocket-functional-test.el +++ b/websocket-functional-test.el @@ -37,11 +37,15 @@ (setq websocket-debug t) +(unless (boundp 'wstest-server-url) + (setq wstest-server-url "wss://echo.websocket.org")) + (defvar wstest-server-buffer (get-buffer-create "*wstest-server*")) (defvar wstest-server-name "wstest-server") -(defvar wstest-server-proc - (start-process wstest-server-name wstest-server-buffer - "python" "testserver.py" "--log_to_stderr" "--logging=debug")) +(when wstest-server-url "wss://127.0.0.1:9999" + (setq wstest-server-proc + (start-process wstest-server-name wstest-server-buffer + "python3" "testserver.py" "--log_to_stderr" "--logging=debug"))) (sleep-for 1) (defvar wstest-msgs nil) @@ -71,7 +75,7 @@ written to be used widely." (wstest-msg) (wstest-ws (websocket-open - "wss://echo.websocket.org" + wstest-server-url :on-message (lambda (_websocket frame) (setq wstest-msg (websocket-frame-text frame))) :on-close (lambda (_websocket) (setq wstest-closed t))))) @@ -80,7 +84,10 @@ written to be used widely." (should (null wstest-msg)) (websocket-send-text wstest-ws "Hi!") (should (websocket-test-wait-with-timeout 5 (equal wstest-msg "Hi!"))) - (websocket-close wstest-ws)))) + (websocket-close wstest-ws) + (when wstest-server-proc + (sleep-for 1) + (kill-process wstest-server-proc))))) (ert-deftest websocket-server () (let* ((wstest-closed)