branch: externals/websocket
commit df976e3b197d6785e4f7dfe4bb5c12b75e51a4e1
Merge: 341ec2b9d6 1c6d6e84c9
Author: Andrew Hyatt <[email protected]>
Commit: Andrew Hyatt <[email protected]>
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)