Skip to content

Commit

Permalink
feat: use new error handling & logging for freerdp & the cli
Browse files Browse the repository at this point in the history
  • Loading branch information
oskardotglobal committed Oct 9, 2023
1 parent 90079a4 commit 0e5276c
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 17 deletions.
18 changes: 11 additions & 7 deletions winapps-cli/src/main.rs
Original file line number Diff line number Diff line change
@@ -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")
Expand Down Expand Up @@ -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!(),
}
Expand Down
28 changes: 18 additions & 10 deletions winapps/src/freerdp.rs
Original file line number Diff line number Diff line change
@@ -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 {}

Expand All @@ -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>) {
Expand Down Expand Up @@ -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!",
);
}
}
}

0 comments on commit 0e5276c

Please sign in to comment.