fn exec(bin: &str) -> Result<()> {
    let kani_dir = kani_dir();
    let program = kani_dir.join("bin").join("kani-driver");
    let pyroot = kani_dir.join("pyroot");
    let bin_kani = kani_dir.join("bin");
    let bin_pyroot = pyroot.join("bin");
    let bin_toolchain = kani_dir.join("toolchain").join("bin");

    // Allow python scripts to find dependencies under our pyroot
    let pythonpath = augment_search(&[pyroot], env::var_os("PYTHONPATH"))?;
    // Add: kani, cbmc, viewer (pyroot), and our rust toolchain directly to our PATH
    let path = augment_search(&[bin_kani, bin_pyroot, bin_toolchain], env::var_os("PATH"))?;

    let mut cmd = Command::new(program);
    cmd.args(std::env::args_os().skip(1)).env("PYTHONPATH", pythonpath).env("PATH", path).arg0(bin);

    let result = cmd.status().context("Failed to invoke kani-driver")?;

    std::process::exit(result.code().expect("No exit code?"));
}
/// Executes `kani-driver` in `bin` mode (kani or cargo-kani)
/// augmenting environment variables to accomodate our release environment
Executes `kani-driver` in `bin` mode (kani or cargo-kani)
augmenting environment variables to accomodate our release environment
Executes ` kani - driver ` in ` bin ` mode ( kani or cargo - kani ) augmenting environment variables to accomodate our release environment
fn exec(bin: &str) -> Result<()> {
    let kani_dir = kani_dir();
    let program = kani_dir.join("bin").join("kani-driver");
    let pyroot = kani_dir.join("pyroot");
    let bin_kani = kani_dir.join("bin");
    let bin_pyroot = pyroot.join("bin");
    let bin_toolchain = kani_dir.join("toolchain").join("bin");
    // Allow python scripts to find dependencies under our pyroot
    let pythonpath = augment_search(&[pyroot], env::var_os("PYTHONPATH"))?;
    // Add: kani, cbmc, viewer (pyroot), and our rust toolchain directly to our PATH
    let path = augment_search(&[bin_kani, bin_pyroot, bin_toolchain], env::var_os("PATH"))?;
    let mut cmd = Command::new(program);
    cmd.args(std::env::args_os().skip(1)).env("PYTHONPATH", pythonpath).env("PATH", path).arg0(bin);
    let result = cmd.status().context("Failed to invoke kani-driver")?;
    std::process::exit(result.code().expect("No exit code?"));
}
fn exec ( bin : & str ) -> Result < ( ) > { let kani_dir = kani_dir ( ) ; let program = kani_dir . join ( " " ) . join ( " " ) ; let pyroot = kani_dir . join ( " " ) ; let bin_kani = kani_dir . join ( " " ) ; let bin_pyroot = pyroot . join ( " " ) ; let bin_toolchain = kani_dir . join ( " " ) . join ( " " ) ; // Allow python scripts to find dependencies under our pyroot let pythonpath = augment_search ( & [ pyroot ] , env :: var_os ( " " ) ) ? ; // Add: kani, cbmc, viewer (pyroot), and our rust toolchain directly to our PATH let path = augment_search ( & [ bin_kani , bin_pyroot , bin_toolchain ] , env :: var_os ( " " ) ) ? ; let mut cmd = Command :: new ( program ) ; cmd . args ( std :: env :: args_os ( ) . skip ( 1 ) ) . env ( " " , pythonpath ) . env ( " " , path ) . arg0 ( bin ) ; let result = cmd . status ( ) . context ( " " ) ? ; std :: process :: exit ( result . code ( ) . expect ( " " ) ) ; }
Executes `kani-driver` in `bin` mode (kani or cargo-kani)
augmenting environment variables to accomodate our release environment
Executes ` kani - driver ` in ` bin ` mode ( kani or cargo - kani ) augmenting environment variables to accomodate our release environment
bin
&str