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

[test runner] Print QEMU output directly instead of waiting until it finishes #333

Merged
merged 3 commits into from Jan 26, 2023

Conversation

phil-opp
Copy link
Member

The output method captures the output in a Vec, so we can only print it when the QEMU command is finished. This is problematic when a test panics inside the bootloader because we never exit QEMU in that case. Thus, we never print the error message, which makes debugging more difficult. This commit fixes this issue by piping the stdout and stderr directly to a background thread, which prints them directly.

We also print the full QEMU command and a separator line between test runs now, which should make the output easier to read.

The `output` method captures the output in a `Vec`, so we can only print it when the QEMU command is finished. This is problematic when a test panics inside the bootloader because we never exit QEMU in that case. Thus, we never print the error message, which makes debugging more difficult. This commit fixes this issue by piping the stdout and stderr directly to a background thread, which prints them directly.

We also print the full QEMU command and a separator line between test runs now, which should make the output easier to read.
This way, the error should always be at/near the bottom, so it's easier to find.
The `with_extension` method adds the dot already.
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.

None yet

1 participant