From 0e5276c7442c614992dfd8324fd2b15b5a054917 Mon Sep 17 00:00:00 2001 From: Oskar Manhart <52569953+oskardotglobal@users.noreply.github.com> Date: Mon, 9 Oct 2023 19:11:50 +0200 Subject: [PATCH] feat: use new error handling & logging for freerdp & the cli --- winapps-cli/src/main.rs | 18 +++++++++++------- winapps/src/freerdp.rs | 28 ++++++++++++++++++---------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/winapps-cli/src/main.rs b/winapps-cli/src/main.rs index 3887292..3fb78ee 100644 --- a/winapps-cli/src/main.rs +++ b/winapps-cli/src/main.rs @@ -1,7 +1,7 @@ use clap::{arg, Command}; use winapps::freerdp::freerdp_back::Freerdp; use winapps::quickemu::{create_vm, kill_vm, start_vm}; -use winapps::RemoteClient; +use winapps::{unwrap_or_panic, RemoteClient}; fn cli() -> Command { Command::new("winapps-cli") @@ -69,18 +69,22 @@ fn main() { } Some((_, _)) => { - cli.about("Command not found, try existing ones!") - .print_help() - .expect("Couldn't print help"); + unwrap_or_panic!( + cli.about("Command not found, try existing ones!") + .print_help(), + "Couldn't print help" + ); } _ => unreachable!(), }; } Some((_, _)) => { - cli.about("Command not found, try existing ones!") - .print_help() - .expect("Couldn't print help"); + unwrap_or_panic!( + cli.about("Command not found, try existing ones!") + .print_help(), + "Couldn't print help" + ); } _ => unreachable!(), } diff --git a/winapps/src/freerdp.rs b/winapps/src/freerdp.rs index cf7baa4..b88936a 100644 --- a/winapps/src/freerdp.rs +++ b/winapps/src/freerdp.rs @@ -1,7 +1,8 @@ pub mod freerdp_back { use std::process::{Command, Stdio}; + use tracing::{info, warn}; - use crate::{Config, RemoteClient}; + use crate::{unwrap_or_exit, Config, RemoteClient}; pub struct Freerdp {} @@ -11,18 +12,21 @@ pub mod freerdp_back { xfreerdp.stdout(Stdio::null()); xfreerdp.stderr(Stdio::null()); xfreerdp.args(["-h"]); - xfreerdp - .spawn() - .expect("Freerdp execution failed! It needs to be installed!"); - println!("Freerdp found!"); - println!("All dependencies found!"); - println!("Running explorer as test!"); - println!("Check yourself if it appears correctly!"); + unwrap_or_exit!( + xfreerdp.spawn(), + "Freerdp execution failed! It needs to be installed!", + ); + + info!("Freerdp found!"); + + info!("All dependencies found!"); + info!("Running explorer as test!"); + warn!("Check yourself if it appears correctly!"); self.run_app(config, Some(&"explorer.exe".to_string())); - println!("Test finished!"); + info!("Test finished!"); } fn run_app(&self, config: Config, app: Option<&String>) { @@ -56,7 +60,11 @@ pub mod freerdp_back { ]); } } - xfreerdp.spawn().expect("Freerdp execution failed!"); + + unwrap_or_exit!( + xfreerdp.spawn(), + "Freerdp execution failed, check logs above!", + ); } } }