#!/bin/sh
# Build and run a program that uses the minijail crate, resolving it (and
# minijail-sys, bindgen, ...) from the system registry only.
set -eu

cd "${AUTOPKGTEST_TMP:-$(mktemp -d)}"
mkdir -p .cargo src
cat > .cargo/config.toml <<'EOF'
[source.crates-io]
replace-with = "debian"

[source.debian]
directory = "/usr/share/cargo/registry"

[net]
offline = true
EOF
cat > Cargo.toml <<'EOF'
[package]
name = "minijail-autopkgtest"
version = "0.0.0"
edition = "2021"

[dependencies]
minijail = "0.2"
EOF
cat > src/main.rs <<'EOF'
fn main() {
    // Exercises minijail -> minijail-sys -> libminijail.so.1.
    let mut jail = minijail::Minijail::new().expect("minijail_new failed");
    jail.no_new_privs();
    println!("ok");
}
EOF

export CARGO_HOME="$PWD/.cargo"
cargo build
test "$(./target/debug/minijail-autopkgtest)" = ok
