Skip to content

Add xeus-cpp kernel (C++20)#32

Merged
rgbkrk merged 1 commit into
mainfrom
add-xeus-cpp
Feb 26, 2026
Merged

Add xeus-cpp kernel (C++20)#32
rgbkrk merged 1 commit into
mainfrom
add-xeus-cpp

Conversation

@rgbkrk

@rgbkrk rgbkrk commented Feb 26, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds xeus-cpp to the conformance test suite with C++20 standard (xcpp20 kernel)
  • Second of 7 xeus kernels requested in Additional kernels #30

Notes

  • Uses xcpp20 since xeus-cling already occupies xcpp17
  • xeus-cpp is the modern Clang REPL-based C++ kernel (reboot of xeus-cling)
  • Uses existing C++ snippets

Submitted on @rgbkrk's behalf by his agent Quill

Second of 7 xeus kernels requested in #30. Uses xcpp20 kernel (C++20 standard)
since xeus-cling already uses xcpp17.
@github-actions

Copy link
Copy Markdown

Kernel Conformance Matrix

Kernel Protocol Tier 1 Tier 2 Tier 3 Tier 4 Total
almond unknown 0/1 0/0 0/0 0/0 0/1
ark 5.4 10/10 5/7 2/3 5/5 22/25
deno 5.3 9/10 6/7 3/3 3/5 21/25
evcxr 5.3 10/10 3/7 1/3 3/5 17/25
gonb 5.4 6/10 1/7 1/3 3/5 11/25
ijulia 5.4 10/10 6/7 2/3 5/5 23/25
ipykernel 5.3 10/10 7/7 3/3 5/5 25/25
xeus-cling 5.3 9/10 4/7 0/3 0/5 13/25
xeus-cpp 5.5 4/10 0/7 0/3 0/5 4/25
xeus-python 5.5 9/10 5/7 3/3 4/5 21/25
xeus-sql unknown 0/1 0/0 0/0 0/0 0/1

almond (unknown) - 1 failures, 0 skipped

Language: scala | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: missing field date at line 1 column 169
ark () - 3 failures, 0 skipped

Language: R | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
deno (Deno kernel) - 3 failures, 1 skipped

Language: typescript | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
evcxr (evcxr_jupyter) - 5 failures, 3 skipped

Language: Rust | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: missing field status

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
gonb (gonb) - 14 failures, 0 skipped

Language: go | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown No stdout containing 'hello'
execute_stderr stream unknown No stderr containing 'error'
execute_reply_ok execute_request kernel_error execute_reply status: Error
complete_request complete_request unknown Timeout waiting for shell reply
inspect_request inspect_request unknown Expected inspect_reply, got "execute_reply"
is_complete_complete is_complete_request unknown Expected is_complete_reply, got "inspect_reply"
is_complete_incomplete is_complete_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
stdin_input_request input_request unexpected_content No input_request received on stdin channel
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply
ijulia (ijulia) - 1 failures, 1 skipped

Language: julia | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
comm_info_request comm_info_request unknown Timeout waiting for shell reply

Skipped (Not Implemented)

  • update_display_data: Kernel can update existing displays via update_display_data
xeus-cling (xeus-cling) - 11 failures, 1 skipped

Language: c++ | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown inspect_reply status: Error
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Protocol error: Codec Error: Broken pipe (os error 32)
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-cpp (xeus-cpp) - 20 failures, 1 skipped

Language: C++ | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown Timeout waiting for iopub idle
execute_stderr stream unknown Timeout waiting for iopub idle
execute_reply_ok execute_request harness_error Protocol error: Codec Error: Broken pipe (os error 32)
status_busy_idle_lifecycle status unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_input_broadcast execute_input unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
complete_request complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
inspect_request inspect_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_complete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_incomplete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
history_request history_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comm_info_request comm_info_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
error_handling execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
display_data display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
update_display_data update_display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_result execute_result unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-python (xeus-python) - 4 failures, 0 skipped

Language: python | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply
xeus-sql (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status

Test Results by Message Type

Test Message Type almond ark deno evcxr gonb ijulia ipykernel xeus-cling xeus-cpp xeus-python xeus-sql
comm_info_request comm_info_request - -
comms_lifecycle comm_open - -
complete_request complete_request - -
display_data display_data - ⏭️ -
error_handling execute_request - -
execute_input_broadcast execute_input - -
execute_reply_ok execute_request - -
execute_result execute_result - -
execute_stderr stream - -
execute_stdout execute_request - -
execution_count_increments execute_request - -
heartbeat_responds heartbeat - -
history_request history_request - -
inspect_request inspect_request - -
interrupt_request interrupt_request - -
is_complete_complete is_complete_request - -
is_complete_incomplete is_complete_request - ⚠️ ⚠️ -
kernel_info_has_language_info kernel_info_request - -
kernel_info_has_protocol_version kernel_info_request - -
kernel_info_reply_valid kernel_info_request - -
kernel_startup kernel_info_request - - - - - - - - -
parent_header_correlation parent_header - -
shutdown_reply shutdown_request - -
status_busy_idle_lifecycle status - -
stdin_input_request input_request - ⏭️ ⏭️ ⏭️ ⏭️ -
update_display_data update_display_data - ⚠️ ⏭️ ⚠️ ⏭️ -

@rgbkrk
rgbkrk merged commit 5cdc19e into main Feb 26, 2026
13 checks passed
This was referenced Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant