cargo-binstall/e2e-tests/git.sh
Jiahao XU ca00cbaccc
feat: Support install directly from git repo (#1162)
Fixed #3

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-06-24 01:01:31 +00:00

61 lines
1.4 KiB
Bash

#!/bin/bash
set -euxo pipefail
test_cargo_binstall_install() {
# Test that the installed binaries can be run
cargo binstall --help >/dev/null
cargo_binstall_version="$(cargo binstall -V)"
echo "$cargo_binstall_version"
[ "$cargo_binstall_version" = "cargo-binstall 0.12.0" ]
}
unset CARGO_INSTALL_ROOT
CARGO_HOME="$(mktemp -d 2>/dev/null || mktemp -d -t 'cargo-home')"
export CARGO_HOME
export PATH="$CARGO_HOME/bin:$PATH"
GIT="$(mktemp -d 2>/dev/null || mktemp -d -t 'git')"
if [ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ]; then
# Convert it to windows path so `--git "file://$GIT"` would work
# on windows.
GIT="$(cygpath -w "$GIT")"
fi
git init "$GIT"
cp manifests/github-test-Cargo.toml "$GIT/Cargo.toml"
(
cd "$GIT"
git config user.email 'test@example.com'
git config user.name 'test'
git add Cargo.toml
git commit -m "Add Cargo.toml"
)
# Install binaries using `--git`
"./$1" binstall --force --git "file://$GIT" --no-confirm cargo-binstall
test_cargo_binstall_install
cp -r manifests/workspace/* "$GIT"
(
cd "$GIT"
git add .
git commit -m 'Update to workspace'
)
# Install binaries using `--git`
"./$1" binstall --force --git "file://$GIT" --no-confirm cargo-binstall
test_cargo_binstall_install
# Install binaries using `--git`
"./$1" binstall --force --git "file://$GIT" --no-confirm cargo-watch
cargo_watch_version="$(cargo watch -V)"
echo "$cargo_watch_version"
[ "$cargo_watch_version" = "cargo-watch 8.4.0" ]