cli_rs: add an environment variable to avoid Python CLI bypass

Summary:
I don't want the fallback when testing, so add an environment variable
for bypassing it.

Reviewed By: fanzeyi

Differential Revision: D26411754

fbshipit-source-id: f2aea82bf3e79db11e72ad5f5ce33513cfc2f05b
This commit is contained in:
Chad Austin 2021-02-22 14:09:48 -08:00 committed by Facebook GitHub Bot
parent 4c278e3278
commit 02b024899e

View File

@ -71,17 +71,24 @@ fn setup_logging() {
}
}
fn rust_main(cmd: edenfs_commands::Command) -> Result<()> {
if cmd.debug {
setup_logging();
}
match cmd.run() {
Ok(code) => std::process::exit(code),
Err(e) => Err(e),
}
}
fn main() -> Result<()> {
if std::env::var("EDENFSCTL_SKIP_RUST").is_ok() {
if std::env::var("EDENFSCTL_ONLY_RUST").is_ok() {
let cmd = edenfs_commands::Command::from_args();
rust_main(cmd)
} else if std::env::var("EDENFSCTL_SKIP_RUST").is_ok() {
fallback()
} else if let Ok(cmd) = edenfs_commands::Command::from_args_safe() {
if cmd.debug {
setup_logging();
}
match cmd.run() {
Ok(code) => std::process::exit(code),
Err(e) => Err(e),
}
rust_main(cmd)
} else {
fallback()
}