diff options
| author | Raoul Strackx <raoul.strackx@fortanix.com> | 2023-03-22 13:04:55 +0100 |
|---|---|---|
| committer | Raoul Strackx <raoul.strackx@fortanix.com> | 2023-03-22 14:01:30 +0100 |
| commit | 0d1a0540e46b504597497c1db3e2a4d0d89ee550 (patch) | |
| tree | 37fc55fd536f2b11051a318049c2c1c410e64f2d | |
| parent | 9bdb4881c7e6061fa8acdbb3ddfcd2dd7e11cc89 (diff) | |
| download | rust-0d1a0540e46b504597497c1db3e2a4d0d89ee550.tar.gz rust-0d1a0540e46b504597497c1db3e2a4d0d89ee550.zip | |
Bugfix: avoid panic on invalid json output from libtest
| -rw-r--r-- | src/bootstrap/render_tests.rs | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/bootstrap/render_tests.rs b/src/bootstrap/render_tests.rs index af2370d439e..19019ad2c08 100644 --- a/src/bootstrap/render_tests.rs +++ b/src/bootstrap/render_tests.rs @@ -100,18 +100,13 @@ impl<'a> Renderer<'a> { break; } - 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(); + match serde_json::from_str(&line) { + Ok(parsed) => self.render_message(parsed), + Err(_err) => { + // Handle non-JSON output, for example when --nocapture is passed. + print!("{line}"); + let _ = std::io::stdout().flush(); + } } } } |
