handle non-json output in stdout
This commit is contained in:
parent
f23e20569c
commit
9a1ff1b958
1 changed files with 13 additions and 6 deletions
|
|
@ -105,12 +105,19 @@ impl<'a> Renderer<'a> {
|
|||
break;
|
||||
}
|
||||
|
||||
self.render_message(match serde_json::from_str(&line) {
|
||||
Ok(parsed) => parsed,
|
||||
Err(err) => {
|
||||
panic!("failed to parse libtest json output; error: {err}, line: {line:?}");
|
||||
}
|
||||
});
|
||||
let trimmed = line.trim();
|
||||
if trimmed.starts_with("{") && trimmed.ends_with("}") {
|
||||
self.render_message(match serde_json::from_str(&trimmed) {
|
||||
Ok(parsed) => parsed,
|
||||
Err(err) => {
|
||||
panic!("failed to parse libtest json output; error: {err}, line: {line:?}");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Handle non-JSON output, for example when --nocapture is passed.
|
||||
print!("{line}");
|
||||
let _ = std::io::stdout().flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue