119625d8cSopenharmony_ci#![cfg(feature = "env")] 219625d8cSopenharmony_ci 319625d8cSopenharmony_ciuse std::env; 419625d8cSopenharmony_ci 519625d8cSopenharmony_ciuse clap::{Arg, ArgAction, Command}; 619625d8cSopenharmony_ci 719625d8cSopenharmony_ciuse super::utils; 819625d8cSopenharmony_ci 919625d8cSopenharmony_cistatic HIDE_ENV: &str = "\ 1019625d8cSopenharmony_ciUsage: ctest [OPTIONS] 1119625d8cSopenharmony_ci 1219625d8cSopenharmony_ciOptions: 1319625d8cSopenharmony_ci -c, --cafe <FILE> A coffeehouse, coffee shop, or café. 1419625d8cSopenharmony_ci -h, --help Print help 1519625d8cSopenharmony_ci -V, --version Print version 1619625d8cSopenharmony_ci"; 1719625d8cSopenharmony_ci 1819625d8cSopenharmony_cistatic SHOW_ENV: &str = "\ 1919625d8cSopenharmony_ciUsage: ctest [OPTIONS] 2019625d8cSopenharmony_ci 2119625d8cSopenharmony_ciOptions: 2219625d8cSopenharmony_ci -c, --cafe <FILE> A coffeehouse, coffee shop, or café. [env: ENVVAR=MYVAL] 2319625d8cSopenharmony_ci -h, --help Print help 2419625d8cSopenharmony_ci -V, --version Print version 2519625d8cSopenharmony_ci"; 2619625d8cSopenharmony_ci 2719625d8cSopenharmony_cistatic HIDE_ENV_VALS: &str = "\ 2819625d8cSopenharmony_ciUsage: ctest [OPTIONS] 2919625d8cSopenharmony_ci 3019625d8cSopenharmony_ciOptions: 3119625d8cSopenharmony_ci -c, --cafe <FILE> A coffeehouse, coffee shop, or café. [env: ENVVAR] 3219625d8cSopenharmony_ci -h, --help Print help 3319625d8cSopenharmony_ci -V, --version Print version 3419625d8cSopenharmony_ci"; 3519625d8cSopenharmony_ci 3619625d8cSopenharmony_cistatic SHOW_ENV_VALS: &str = "\ 3719625d8cSopenharmony_ciUsage: ctest [OPTIONS] 3819625d8cSopenharmony_ci 3919625d8cSopenharmony_ciOptions: 4019625d8cSopenharmony_ci -c, --cafe <FILE> A coffeehouse, coffee shop, or café. [env: ENVVAR=MYVAL] 4119625d8cSopenharmony_ci -h, --help Print help 4219625d8cSopenharmony_ci -V, --version Print version 4319625d8cSopenharmony_ci"; 4419625d8cSopenharmony_ci 4519625d8cSopenharmony_cistatic HIDE_ENV_FLAG: &str = "\ 4619625d8cSopenharmony_ciUsage: ctest [OPTIONS] 4719625d8cSopenharmony_ci 4819625d8cSopenharmony_ciOptions: 4919625d8cSopenharmony_ci -c, --cafe A coffeehouse, coffee shop, or café. 5019625d8cSopenharmony_ci -h, --help Print help 5119625d8cSopenharmony_ci -V, --version Print version 5219625d8cSopenharmony_ci"; 5319625d8cSopenharmony_ci 5419625d8cSopenharmony_cistatic SHOW_ENV_FLAG: &str = "\ 5519625d8cSopenharmony_ciUsage: ctest [OPTIONS] 5619625d8cSopenharmony_ci 5719625d8cSopenharmony_ciOptions: 5819625d8cSopenharmony_ci -c, --cafe A coffeehouse, coffee shop, or café. [env: ENVVAR=MYVAL] 5919625d8cSopenharmony_ci -h, --help Print help 6019625d8cSopenharmony_ci -V, --version Print version 6119625d8cSopenharmony_ci"; 6219625d8cSopenharmony_ci 6319625d8cSopenharmony_cistatic HIDE_ENV_VALS_FLAG: &str = "\ 6419625d8cSopenharmony_ciUsage: ctest [OPTIONS] 6519625d8cSopenharmony_ci 6619625d8cSopenharmony_ciOptions: 6719625d8cSopenharmony_ci -c, --cafe A coffeehouse, coffee shop, or café. [env: ENVVAR] 6819625d8cSopenharmony_ci -h, --help Print help 6919625d8cSopenharmony_ci -V, --version Print version 7019625d8cSopenharmony_ci"; 7119625d8cSopenharmony_ci 7219625d8cSopenharmony_cistatic SHOW_ENV_VALS_FLAG: &str = "\ 7319625d8cSopenharmony_ciUsage: ctest [OPTIONS] 7419625d8cSopenharmony_ci 7519625d8cSopenharmony_ciOptions: 7619625d8cSopenharmony_ci -c, --cafe A coffeehouse, coffee shop, or café. [env: ENVVAR=MYVAL] 7719625d8cSopenharmony_ci -h, --help Print help 7819625d8cSopenharmony_ci -V, --version Print version 7919625d8cSopenharmony_ci"; 8019625d8cSopenharmony_ci 8119625d8cSopenharmony_ci#[test] 8219625d8cSopenharmony_cifn hide_env() { 8319625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 8419625d8cSopenharmony_ci 8519625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 8619625d8cSopenharmony_ci Arg::new("cafe") 8719625d8cSopenharmony_ci .short('c') 8819625d8cSopenharmony_ci .long("cafe") 8919625d8cSopenharmony_ci .value_name("FILE") 9019625d8cSopenharmony_ci .hide_env(true) 9119625d8cSopenharmony_ci .env("ENVVAR") 9219625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café.") 9319625d8cSopenharmony_ci .action(ArgAction::Set), 9419625d8cSopenharmony_ci ); 9519625d8cSopenharmony_ci 9619625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", HIDE_ENV, false); 9719625d8cSopenharmony_ci} 9819625d8cSopenharmony_ci 9919625d8cSopenharmony_ci#[test] 10019625d8cSopenharmony_cifn show_env() { 10119625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 10219625d8cSopenharmony_ci 10319625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 10419625d8cSopenharmony_ci Arg::new("cafe") 10519625d8cSopenharmony_ci .short('c') 10619625d8cSopenharmony_ci .long("cafe") 10719625d8cSopenharmony_ci .value_name("FILE") 10819625d8cSopenharmony_ci .env("ENVVAR") 10919625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café.") 11019625d8cSopenharmony_ci .action(ArgAction::Set), 11119625d8cSopenharmony_ci ); 11219625d8cSopenharmony_ci 11319625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", SHOW_ENV, false); 11419625d8cSopenharmony_ci} 11519625d8cSopenharmony_ci 11619625d8cSopenharmony_ci#[test] 11719625d8cSopenharmony_cifn hide_env_vals() { 11819625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 11919625d8cSopenharmony_ci 12019625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 12119625d8cSopenharmony_ci Arg::new("cafe") 12219625d8cSopenharmony_ci .short('c') 12319625d8cSopenharmony_ci .long("cafe") 12419625d8cSopenharmony_ci .value_name("FILE") 12519625d8cSopenharmony_ci .hide_env_values(true) 12619625d8cSopenharmony_ci .env("ENVVAR") 12719625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café.") 12819625d8cSopenharmony_ci .action(ArgAction::Set), 12919625d8cSopenharmony_ci ); 13019625d8cSopenharmony_ci 13119625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", HIDE_ENV_VALS, false); 13219625d8cSopenharmony_ci} 13319625d8cSopenharmony_ci 13419625d8cSopenharmony_ci#[test] 13519625d8cSopenharmony_cifn show_env_vals() { 13619625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 13719625d8cSopenharmony_ci 13819625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 13919625d8cSopenharmony_ci Arg::new("cafe") 14019625d8cSopenharmony_ci .short('c') 14119625d8cSopenharmony_ci .long("cafe") 14219625d8cSopenharmony_ci .value_name("FILE") 14319625d8cSopenharmony_ci .env("ENVVAR") 14419625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café.") 14519625d8cSopenharmony_ci .action(ArgAction::Set), 14619625d8cSopenharmony_ci ); 14719625d8cSopenharmony_ci 14819625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", SHOW_ENV_VALS, false); 14919625d8cSopenharmony_ci} 15019625d8cSopenharmony_ci 15119625d8cSopenharmony_ci#[test] 15219625d8cSopenharmony_cifn hide_env_flag() { 15319625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 15419625d8cSopenharmony_ci 15519625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 15619625d8cSopenharmony_ci Arg::new("cafe") 15719625d8cSopenharmony_ci .short('c') 15819625d8cSopenharmony_ci .long("cafe") 15919625d8cSopenharmony_ci .action(ArgAction::SetTrue) 16019625d8cSopenharmony_ci .hide_env(true) 16119625d8cSopenharmony_ci .env("ENVVAR") 16219625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café."), 16319625d8cSopenharmony_ci ); 16419625d8cSopenharmony_ci 16519625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", HIDE_ENV_FLAG, false); 16619625d8cSopenharmony_ci} 16719625d8cSopenharmony_ci 16819625d8cSopenharmony_ci#[test] 16919625d8cSopenharmony_cifn show_env_flag() { 17019625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 17119625d8cSopenharmony_ci 17219625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 17319625d8cSopenharmony_ci Arg::new("cafe") 17419625d8cSopenharmony_ci .short('c') 17519625d8cSopenharmony_ci .long("cafe") 17619625d8cSopenharmony_ci .action(ArgAction::SetTrue) 17719625d8cSopenharmony_ci .env("ENVVAR") 17819625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café."), 17919625d8cSopenharmony_ci ); 18019625d8cSopenharmony_ci 18119625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", SHOW_ENV_FLAG, false); 18219625d8cSopenharmony_ci} 18319625d8cSopenharmony_ci 18419625d8cSopenharmony_ci#[test] 18519625d8cSopenharmony_cifn hide_env_vals_flag() { 18619625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 18719625d8cSopenharmony_ci 18819625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 18919625d8cSopenharmony_ci Arg::new("cafe") 19019625d8cSopenharmony_ci .short('c') 19119625d8cSopenharmony_ci .long("cafe") 19219625d8cSopenharmony_ci .action(ArgAction::SetTrue) 19319625d8cSopenharmony_ci .hide_env_values(true) 19419625d8cSopenharmony_ci .env("ENVVAR") 19519625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café."), 19619625d8cSopenharmony_ci ); 19719625d8cSopenharmony_ci 19819625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", HIDE_ENV_VALS_FLAG, false); 19919625d8cSopenharmony_ci} 20019625d8cSopenharmony_ci 20119625d8cSopenharmony_ci#[test] 20219625d8cSopenharmony_cifn show_env_vals_flag() { 20319625d8cSopenharmony_ci env::set_var("ENVVAR", "MYVAL"); 20419625d8cSopenharmony_ci 20519625d8cSopenharmony_ci let cmd = Command::new("ctest").version("0.1").arg( 20619625d8cSopenharmony_ci Arg::new("cafe") 20719625d8cSopenharmony_ci .short('c') 20819625d8cSopenharmony_ci .long("cafe") 20919625d8cSopenharmony_ci .action(ArgAction::SetTrue) 21019625d8cSopenharmony_ci .env("ENVVAR") 21119625d8cSopenharmony_ci .help("A coffeehouse, coffee shop, or café."), 21219625d8cSopenharmony_ci ); 21319625d8cSopenharmony_ci 21419625d8cSopenharmony_ci utils::assert_output(cmd, "ctest --help", SHOW_ENV_VALS_FLAG, false); 21519625d8cSopenharmony_ci} 216