From 759d1afb86f3657f6071a2ae39c9be21e20ed22c Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Sun, 13 Feb 2022 19:13:31 -0300 Subject: [PATCH] feat(cli): improve error message when dev runner command fails (#3447) --- .changes/cli-runner-error-message.md | 6 ++++++ tooling/cli/src/dev.rs | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 .changes/cli-runner-error-message.md diff --git a/.changes/cli-runner-error-message.md b/.changes/cli-runner-error-message.md new file mode 100644 index 000000000..395559c31 --- /dev/null +++ b/.changes/cli-runner-error-message.md @@ -0,0 +1,6 @@ +--- +"cli.rs": patch +"cli.js": patch +--- + +Improve error message when the dev runner command fails. diff --git a/tooling/cli/src/dev.rs b/tooling/cli/src/dev.rs index 3436fa0c0..5730f7264 100644 --- a/tooling/cli/src/dev.rs +++ b/tooling/cli/src/dev.rs @@ -225,7 +225,7 @@ pub fn command(options: Options) -> Result<()> { } } - let mut process = start_app(&options, &runner, &cargo_features, child_wait_rx.clone()); + let mut process = start_app(&options, &runner, &cargo_features, child_wait_rx.clone())?; let (tx, rx) = channel(); @@ -268,7 +268,7 @@ pub fn command(options: Options) -> Result<()> { break; } } - process = start_app(&options, &runner, &cargo_features, child_wait_rx.clone()); + process = start_app(&options, &runner, &cargo_features, child_wait_rx.clone())?; } } } @@ -298,7 +298,7 @@ fn start_app( runner: &str, features: &[String], child_wait_rx: Arc>>, -) -> Arc { +) -> Result> { let mut command = Command::new(runner); command.args(&["run", "--no-default-features"]); @@ -321,7 +321,7 @@ fn start_app( command.pipe().unwrap(); let child = - SharedChild::spawn(&mut command).unwrap_or_else(|_| panic!("failed to run {}", runner)); + SharedChild::spawn(&mut command).with_context(|| format!("failed to run {}", runner))?; let child_arc = Arc::new(child); let child_clone = child_arc.clone(); @@ -349,5 +349,5 @@ fn start_app( } }); - child_arc + Ok(child_arc) }