pray-cli 1.16.0

Package manager for the language placed before inference — Prayfile CLI (binary: pray)
use std::path::PathBuf;
use std::process::Command;

fn run_pray(arguments: &[&str]) -> std::process::Output {
    let binary = PathBuf::from(env!("CARGO_BIN_EXE_pray"));
    let binary = binary.canonicalize().unwrap_or(binary);
    Command::new(binary)
        .args(arguments)
        .output()
        .expect("run pray")
}

#[test]
fn version_command_prints_package_version() {
    for arguments in [["version"], ["--version"], ["-V"]] {
        let output = run_pray(&arguments);
        assert!(
            output.status.success(),
            "pray {} failed: {}",
            arguments[0],
            String::from_utf8_lossy(&output.stderr)
        );
        assert_eq!(
            format!("pray {}\n", env!("CARGO_PKG_VERSION")),
            String::from_utf8_lossy(&output.stdout)
        );
    }
}