fn workspace_dir() -> std::path::PathBuf {
    let output = std::process::Command::new(env!("CARGO"))
        .arg("locate-project")
        .arg("--workspace")
        .arg("--message-format=plain")
        .output()
        .unwrap()
        .stdout;
    let cargo_path = std::path::Path::new(std::str::from_utf8(&output).unwrap().trim());
    cargo_path.parent().unwrap().to_path_buf()
}

#[test]
fn test_readme_help() {
    use assert_cmd::prelude::*;
    use std::process::Command;

    let err = Command::cargo_bin("repak").unwrap().unwrap_err();
    let help = std::str::from_utf8(&err.as_output().unwrap().stderr).unwrap();

    let readme = std::fs::read_to_string(workspace_dir().join("README.md")).unwrap();

    assert!(readme.contains(&format!("```console\n$ repak --help\n{help}```")));
}