mirror of
https://github.com/nvm-sh/nvm.git
synced 2026-02-05 01:12:52 +08:00
nvm.sh uses `NVM_SCRIPT_SOURCE="$_"` to detect its source location. Adding `: nvm.sh` before each source line ensures `$_` is set correctly, preventing breakage when the previous command (e.g., `set -ex`) overwrites it.
25 lines
820 B
Bash
Executable File
25 lines
820 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -ex
|
|
|
|
die () { echo "$@" ; exit 1; }
|
|
|
|
: nvm.sh
|
|
\. ../../../nvm.sh
|
|
|
|
set +x
|
|
OUTPUT="$(nvm_compute_checksum 2>&1 >/dev/null || echo)"
|
|
EXIT_CODE="$(nvm_compute_checksum >/dev/null 2>&1 || echo $?)"
|
|
set -x
|
|
EXPECTED_OUTPUT='Provided file to checksum is empty.'
|
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<"
|
|
[ "${EXIT_CODE}" = 2 ] || die "expected to exit with code 2, got ${EXIT_CODE}"
|
|
|
|
set +x
|
|
OUTPUT="$(nvm_compute_checksum foo 2>&1 >/dev/null || echo)"
|
|
EXIT_CODE="$(nvm_compute_checksum foo >/dev/null 2>&1 || echo $?)"
|
|
set -x
|
|
EXPECTED_OUTPUT='Provided file to checksum does not exist.'
|
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<"
|
|
[ "${EXIT_CODE}" = 1 ] || die "expected to exit with code 1, got ${EXIT_CODE}"
|