mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-28 05:12:26 +00:00
36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
setup() {
|
|
TEST_TMPDIR=$(mktemp -d)
|
|
export STUBS_DIR="$BATS_TEST_DIRNAME/stubs"
|
|
export STUBS_NO_CARGO="$TEST_TMPDIR/stubs-no-cargo"
|
|
mkdir -p "$STUBS_NO_CARGO"
|
|
# Copy all stubs except cargo into the no-cargo dir.
|
|
for s in "$STUBS_DIR"/*; do
|
|
name=$(basename "$s")
|
|
if [[ "$name" != "cargo" ]]; then
|
|
cp "$s" "$STUBS_NO_CARGO/"
|
|
fi
|
|
done
|
|
export RUSTUP_STUB_LOG="$TEST_TMPDIR/rustup.log"
|
|
export CURL_STUB_LOG="$TEST_TMPDIR/curl.log"
|
|
: > "$RUSTUP_STUB_LOG"
|
|
: > "$CURL_STUB_LOG"
|
|
export SCRIPT="$BATS_TEST_DIRNAME/../../../scripts/install/install-rust.sh"
|
|
}
|
|
|
|
teardown() {
|
|
[[ -n "${TEST_TMPDIR:-}" ]] && rm -rf "$TEST_TMPDIR"
|
|
}
|
|
|
|
@test "skips install when cargo already present" {
|
|
PATH="$STUBS_DIR:$PATH" run bash "$SCRIPT"
|
|
[ "$status" -eq 0 ]
|
|
[ ! -s "$CURL_STUB_LOG" ]
|
|
}
|
|
|
|
@test "runs rustup curl-pipe-bash when cargo is missing" {
|
|
PATH="$STUBS_NO_CARGO:/usr/bin:/bin:/usr/local/bin" run bash "$SCRIPT"
|
|
grep -q "sh.rustup.rs" "$CURL_STUB_LOG"
|
|
}
|