mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-11-15 01:28:17 -07:00
Add test to reproduce the misleading message
Simulation steps, where dummy/dummyman behave like node/npm - User install dummy 1.0, with `dummyman` command shimmed - User install dummy 1.3 - User run `dummyman` will print incorrect message which suggest to install `dummy 1.3` (has already installed), or set `dummy 1.0` in tool-versions (is not what user want).
This commit is contained in:
parent
c5116dca60
commit
e00e4ac560
@ -129,6 +129,36 @@ teardown() {
|
||||
echo "$output" | grep -q "dummy 1.0" 2>/dev/null
|
||||
}
|
||||
|
||||
@test "issue #928" {
|
||||
# Install 1.0, with fake "dummyman" command, shimmed for 1.0
|
||||
run asdf install dummy 1.0
|
||||
echo "echo Dummy Manager" >"$ASDF_DIR/installs/dummy/1.0/bin/dummyman"
|
||||
chmod +x "$ASDF_DIR/installs/dummy/1.0/bin/dummyman"
|
||||
run asdf reshim dummy 1.0
|
||||
|
||||
# Install 1.3
|
||||
run asdf install dummy 1.3
|
||||
|
||||
echo "dummy 1.3" >"$PROJECT_DIR/.tool-versions"
|
||||
|
||||
# reshim doesn't help
|
||||
run asdf reshim dummy
|
||||
run asdf shim-versions dummyman
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$output" = "dummy 1.0" ]
|
||||
|
||||
run "$ASDF_DIR/shims/dummyman"
|
||||
[ "$status" -eq 126 ]
|
||||
echo ">> $output" >&3
|
||||
|
||||
# Below is current (misleading) message
|
||||
echo "$output" | grep -q "No preset version installed for command dummyman" 2>/dev/null
|
||||
echo "$output" | grep -q "Please install a version by running one of the following:" 2>/dev/null
|
||||
echo "$output" | grep -q "asdf install dummy 1.3" 2>/dev/null
|
||||
echo "$output" | grep -q "or add one of the following versions in your config file at $PROJECT_DIR/.tool-versions" 2>/dev/null
|
||||
echo "$output" | grep -q "dummy 1.0" 2>/dev/null
|
||||
}
|
||||
|
||||
@test "shim exec should execute first plugin that is installed and set" {
|
||||
run asdf install dummy 2.0.0
|
||||
run asdf install dummy 3.0
|
||||
|
Loading…
Reference in New Issue
Block a user