use run_script;
use run_script::ScriptOptions;
#[test]
fn run_script_or_exit_macro_no_args_no_options_valid() {
let (output, error) = run_script::run_script_or_exit!(
r#"
echo "Test"
exit 0
"#
);
assert!(output.len() > 0);
assert_eq!(error.len(), 0);
}
#[test]
fn run_script_or_exit_macro_no_args_with_options() {
let options = ScriptOptions::new();
let (output, error) = run_script::run_script_or_exit!(
r#"
echo "Test"
exit 0
"#,
options
);
assert!(output.len() > 0);
assert_eq!(error.len(), 0);
}
#[test]
fn run_script_or_exit_macro_with_args_with_options() {
let options = ScriptOptions::new();
let script = if cfg!(windows) {
r#"
echo arg1: %1
echo arg2: %2
exit 0
"#
} else {
r#"
echo arg1: $1
echo arg2: $2
exit 0
"#
};
let (output, error) = run_script::run_script_or_exit!(
&script,
&vec!["ARG1".to_string(), "ARG2".to_string()],
options
);
assert!(output.len() > 0);
assert_eq!(error.len(), 0);
assert!(output.find("arg1: ARG1").is_some());
assert!(output.find("arg2: ARG2").is_some());
}