Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 176 support rust #197

Merged
merged 9 commits into from
Jul 6, 2021
Merged

Issue 176 support rust #197

merged 9 commits into from
Jul 6, 2021

Conversation

eldipa
Copy link
Collaborator

@eldipa eldipa commented Jul 6, 2021

Closes #176

A possible edge race condition between an example that it is hung,
byexample sending an abort (ctrl-C) but in that moment the example
finishes and the signal is received by the interpreter that finishes
also leading to an InterpreterClosedUnexpectedly.

We cannot "fix" the RC but we can handle the case and print a message
instead of an exception.
Some interpreter may have a race condition between the output generated
by the example and the prompt printed by the interpreter.

In those cases the output may appear *after* the prompt.

This not only breaks the example (the last bits of the expected output are
missing) but it also breaks the next example (unexpected bits are at the
begin of the expected output).

Assuming that the timming issue is quite small, we can add an optional
delay after the prompt to capture more data at the end and try to keep
the interpreter and byexample in sync.
The interpreter for Rust, evcxr, works quite well but it has a high
runtime: 10-30 seconds for starting up the runner and 1-4 seconds for
running each example.

For now it is in experimental phase.
@eldipa eldipa added this to the 10.2.0 milestone Jul 6, 2021
@eldipa eldipa changed the title Issue 176 support rust po c Issue 176 support rust Jul 6, 2021
@eldipa eldipa merged commit 1405556 into master Jul 6, 2021
@eldipa eldipa deleted the Issue-176-Support-Rust-PoC branch July 6, 2021 13:52
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.

Support Rust
1 participant