--- Begin Message ---
Subject: |
guix-jupyter fails a test |
Date: |
Tue, 9 Aug 2022 15:23:57 +0200 |
Hello,
guix-jupyter currently fails to build with the error message below. While I
noticed it when updating python-sympy, the problem was already present
before.
Andreas
test-name: execute_request
location: /tmp/guix-build-guix-jupyter-0.2.2.drv-0/source/tests/kernels.scm:100
source:
+ (test-equal
+ "execute_request"
+ 42
+ (let ((request
+ (message
+ (header "execute_request" "luser" "12345")
+ (scm->json-string
+ (execute-request->json
+ (execute-request (code "40 + 2\n")))))))
+ (send-message %kernel request)
+ (let* ((replies
+ (unfold
+ (cut > <> 4)
+ (lambda (_) (read-message %kernel 10000))
+ #{1+}#
+ 0)))
+ (define (type-predicate type)
+ (lambda (message)
+ (string=? (message-type message) type)))
+ (and (every message? (pk 'replies replies))
+ (match (filter (type-predicate "status") replies)
+ ((busy idle)
+ (and (eq? 'busy
+ (kernel-status-execution-state
+ (json->kernel-status (message-content busy))))
+ (eq? 'idle
+ (kernel-status-execution-state
+ (json->kernel-status (message-content idle))))
+ (equal?
+ (message-parent-header busy)
+ (message-header request))
+ (equal?
+ (message-parent-header idle)
+ (message-header request)))))
+ (let ((input (find (type-predicate "execute_input") replies)))
+ (equal?
+ (message-parent-header input)
+ (message-header request)))
+ (let ((reply (find (type-predicate "execute_reply") replies)))
+ (equal?
+ (message-parent-header reply)
+ (message-header request)))
+ (let ((result
+ (find (type-predicate "execute_result") replies)))
+ (and (equal?
+ (message-parent-header result)
+ (message-header request))
+ (let* ((content
+ (json-string->scm (message-content result)))
+ (data (assoc-ref content "data"))
+ (text (assoc-ref data "text/plain")))
+ (string->number text))))))))
;;; (replies (#<<message> header: #<<header> id:
"5103841f-98e1ea45964e58d9ba214dc5_900_3" user: "username" session:
"5103841f-98e1ea45964e58d9ba214dc5" date: "2022-08-09T13:21:24.436017Z" type:
"kernel_info_reply" version: "5.3" sender: #f> parent-header: #<<header> id:
"7b136e32ddcbe2e226edffb116a4fca9" user: "luser" session: "12345" date:
"2022-08-09T13:21:24.298532000" type: "kernel_info_request" version: "5.0"
sender: #f> metadata: "{}" content: "{\"status\": \"ok\", \"protocol_version\":
\"5.3\", \"implementation\": \"ipython\", \"implementation_version\":
\"8.2.0\", \"language_info\": {\"name\": \"python\", \"version\": \"3.9.9\",
\"mimetype\": \"text/x-python\", \"codemirror_mode\": {\"name\": \"ipython\",
\"version\": 3}, \"pygments_lexer\": \"ipython3\", \"nbconvert_exporter\":
\"python\", \"file_extension\": \".py\"}, \"banner\": \"Python 3.9.9 (main, Jan
1 1970, 00:00:01) \\nType 'copyright', 'credits' or 'license' for more
information\\nIPython 8.2.0 -- An enhanced Interactive Python. Type '?' for
help.\\n\", \"help_links\": [{\"text\": \"Python Reference\", \"url\":
\"https://docs.python.org/3.9\"}, {\"text\": \"IPython Reference\", \"url\":
\"https://ipython.org/documentation.html\"}, {\"text\": \"NumPy Reference\",
\"url\": \"https://docs.scipy.org/doc/numpy/reference/\"}, {\"text\": \"SciPy
Reference\", \"url\": \"https://docs.scipy.org/doc/scipy/reference/\"},
{\"text\": \"Matplotlib Reference\", \"url\":
\"https://matplotlib.org/contents.html\"}, {\"text\": \"SymPy Reference\",
\"url\": \"http://docs.sympy.org/latest/index.html\"}, {\"text\": \"pandas
Reference\", \"url\": \"https://pandas.pydata.org/pandas-docs/stable/\"}]}"
buffers: ()> #<<message> header: #<<header> id:
"5103841f-98e1ea45964e58d9ba214dc5_900_4" user: "username" session:
"5103841f-98e1ea45964e58d9ba214dc5" date: "2022-08-09T13:21:24.438407Z" type:
"status" version: "5.3" sender: #vu8(107 101 114 110 101 108 46 100 53 55 102
102 101 102 53 45 48 98 102 50 45 52 97 57 102 45 97 99 50 52 45 53 53 100 54
97 97 100 102 53 56 52 97 46 115 116 97 116 117 115)> parent-header: #<<header>
id: "7b136e32ddcbe2e226edffb116a4fca9" user: "luser" session: "12345" date:
"2022-08-09T13:21:24.298532000" type: "kernel_info_request" version: "5.0"
sender: #f> metadata: "{}" content: "{\"execution_state\": \"idle\"}" buffers:
()> #<<message> header: #<<header> id:
"5103841f-98e1ea45964e58d9ba214dc5_900_5" user: "username" session:
"5103841f-98e1ea45964e58d9ba214dc5" date: "2022-08-09T13:21:24.470543Z" type:
"status" version: "5.3" sender: #vu8(107 101 114 110 101 108 46 100 53 55 102
102 101 102 53 45 48 98 102 50 45 52 97 57 102 45 97 99 50 52 45 53 53 100 54
97 97 100 102 53 56 52 97 46 115 116 97 116 117 115)> parent-header: #<<header>
id: "b101b0c27f41055fc03178fdce86a4f6" user: "luser" session: "12345" date:
"2022-08-09T13:21:24.465152000" type: "execute_request" version: "5.0" sender:
#f> metadata: "{}" content: "{\"execution_state\": \"busy\"}" buffers: ()>
#<<message> header: #<<header> id: "5103841f-98e1ea45964e58d9ba214dc5_900_6"
user: "username" session: "5103841f-98e1ea45964e58d9ba214dc5" date:
"2022-08-09T13:21:24.471181Z" type: "execute_input" version: "5.3" sender:
#vu8(107 101 114 110 101 108 46 100 53 55 102 102 101 102 53 45 48 98 102 50 45
52 97 57 102 45 97 99 50 52 45 53 53 100 54 97 97 100 102 53 56 52 97 46 101
120 101 99 117 116 101 95 105 110 112 117 116)> parent-header: #<<header> id:
"b101b0c27f41055fc03178fdce86a4f6" user: "luser" session: "12345" date:
"2022-08-09T13:21:24.465152000" type: "execute_request" version: "5.0" sender:
#f> metadata: "{}" content: "{\"code\": \"40 + 2\\n\", \"execution_count\": 1}"
buffers: ()> #<<message> header: #<<header> id:
"5103841f-98e1ea45964e58d9ba214dc5_900_7" user: "username" session:
"5103841f-98e1ea45964e58d9ba214dc5" date: "2022-08-09T13:21:24.497586Z" type:
"execute_result" version: "5.3" sender: #vu8(107 101 114 110 101 108 46 100 53
55 102 102 101 102 53 45 48 98 102 50 45 52 97 57 102 45 97 99 50 52 45 53 53
100 54 97 97 100 102 53 56 52 97 46 101 120 101 99 117 116 101 95 114 101 115
117 108 116)> parent-header: #<<header> id: "b101b0c27f41055fc03178fdce86a4f6"
user: "luser" session: "12345" date: "2022-08-09T13:21:24.465152000" type:
"execute_request" version: "5.0" sender: #f> metadata: "{}" content:
"{\"data\": {\"text/plain\": \"42\"}, \"metadata\": {}, \"execution_count\":
1}" buffers: ()>))
expected-value: 42
actual-value: #f
result: FAIL
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("check" "-j" "4")
exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 10.7 seconds
command "make" "check" "-j" "4" failed with status 2
builder for
`/gnu/store/i1r5p6g0k3a98316x3s2yrpx9kwjq9vn-guix-jupyter-0.2.2.drv' failed
with exit code 1
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#57077: guix-jupyter fails a test |
Date: |
Thu, 08 Sep 2022 21:35:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi,
Ludovic Courtès <ludovic.courtes@inria.fr> skribis:
> Andreas Enge <andreas@enge.fr> skribis:
>
>> guix-jupyter currently fails to build with the error message below. While I
>> noticed it when updating python-sympy, the problem was already present
>> before.
>
> It looks like the Jupyter protocol changed, probably in
> d54b8754fdba52d89aafaaf80b6c8e89bcea92bd, which was merged with the
> latest ‘staging’.
To my surprise, it looks like running tests sequentially as Marius did
in d09f3f82b84c850a9639ec80af19ba3918b63368 solves the problem. That’s
good news. :-)
Thanks,
Ludo’.
--- End Message ---