Skip to content

Commit 0e202a0

Browse files
committed
Ensure tests independent of ZMQ don't load it
* test/jupyter-server-test.el (jupyter-server): Replace test with one that takes into account a `jupyter-server`s changed implementation. Before, in addition to talking to a kernel via the REST API, it managed a set of websocket connections in a separate process. Now, those websocket connections live in the current Emacs process. Ensure that `jupyter-test-with-notebook` uses a `jupyter-server` object by let binding `jupyter-server-use-zmq` around its call. (jupyter-server-ioloop-comm): New test with the same body as `jupyter-server` had before this commit. Skip the test unless `jupyter-server-use-zmq` is non-nil. Rename `jupyter-server-kernel-comm` to `jupyter-server-ioloop-kernel-comm`.
1 parent 5725215 commit 0e202a0

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

test/jupyter-server-test.el

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,29 @@
257257

258258
;;; Server
259259

260-
;; And `jupyter-server-kernel-comm'
261260
(ert-deftest jupyter-server ()
262261
:tags '(server)
262+
(let ((jupyter-server-use-zmq nil))
263+
(jupyter-test-with-notebook server
264+
(jupyter-test-with-server-kernel server "python" kernel
265+
(ert-info ("`jupyter-comm-layer' methods")
266+
(let ((kcomm (jupyter-server-kernel-comm :kernel kernel)))
267+
(should-not (jupyter-comm-alive-p kcomm))
268+
(jupyter-comm-start kcomm)
269+
(should (jupyter-comm-alive-p kcomm))
270+
(jupyter-comm-stop kcomm)
271+
(should-not (jupyter-comm-alive-p kcomm))))
272+
(ert-info ("Sending/receiving")
273+
(let ((client (jupyter-kernel-client)))
274+
(oset client kcomm (jupyter-server-kernel-comm :kernel kernel))
275+
(jupyter-start-channels client)
276+
(should (json-plist-p (jupyter-kernel-info client)))
277+
(jupyter-stop-channels client)))))))
278+
279+
;; And `jupyter-server-ioloop-kernel-comm'
280+
(ert-deftest jupyter-server-ioloop-comm ()
281+
:tags '(server)
282+
(skip-unless jupyter-server-use-zmq)
263283
(jupyter-test-with-notebook server
264284
(ert-info ("`jupyter-comm-layer' methods")
265285
(when (jupyter-comm-alive-p server)
@@ -272,7 +292,7 @@
272292
(let ((id (oref kernel id)))
273293
(should (jupyter-api-get-kernel server id))
274294
(ert-info ("Connecting kernel comm to server")
275-
(let ((kcomm (jupyter-server-kernel-comm
295+
(let ((kcomm (jupyter-server-ioloop-kernel-comm
276296
:kernel kernel)))
277297
(should-not (jupyter-server-kernel-connected-p server id))
278298
(jupyter-comm-add-handler server kcomm)
@@ -282,7 +302,7 @@
282302
(should-not (jupyter-comm-alive-p kcomm))
283303
(should (jupyter-comm-alive-p server))))
284304
(ert-info ("Connecting kernel comm starts server comm if necessary")
285-
(let ((kcomm (jupyter-server-kernel-comm
305+
(let ((kcomm (jupyter-server-ioloop-kernel-comm
286306
:kernel kernel)))
287307
(jupyter-comm-stop server)
288308
(should-not (jupyter-comm-alive-p server))

0 commit comments

Comments
 (0)