You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.7 KiB
72 lines
2.7 KiB
#!/bin/sh |
|
|
|
cleanup () { |
|
unset -f nvm_compute_checksum |
|
} |
|
die () { echo "$@" ; cleanup ; exit 1; } |
|
|
|
\. ../../../nvm.sh |
|
|
|
set -ex |
|
|
|
nvm_compute_checksum() { |
|
echo |
|
} |
|
|
|
set +x |
|
OUTPUT="$(nvm_compare_checksum 2>&1 >/dev/null || echo)" |
|
EXIT_CODE="$(nvm_compare_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}" = 4 ] || die "expected to exit with code 4, got ${EXIT_CODE}" |
|
|
|
set +x |
|
OUTPUT="$(nvm_compare_checksum foo 2>&1 >/dev/null || echo)" |
|
EXIT_CODE="$(nvm_compare_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}" = 3 ] || die "expected to exit with code 3, got ${EXIT_CODE}" |
|
|
|
set +x |
|
OUTPUT="$(nvm_compare_checksum ../../../nvm.sh 2>&1 >/dev/null || echo)" |
|
EXIT_CODE="$(nvm_compare_checksum ../../../nvm.sh >/dev/null 2>&1 || echo $?)" |
|
set -x |
|
EXPECTED_OUTPUT='Provided checksum to compare to 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_compare_checksum ../../../nvm.sh checksum 2>&1 >/dev/null)" |
|
EXIT_CODE="$(nvm_compare_checksum ../../../nvm.sh checksum >/dev/null 2>&1 ; echo $?)" |
|
set -x |
|
EXPECTED_OUTPUT="Computed checksum of '../../../nvm.sh' is empty. |
|
WARNING: Continuing *without checksum verification*" |
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<" |
|
[ "${EXIT_CODE}" = 0 ] || die "expected to exit with code 0, got ${EXIT_CODE}" |
|
|
|
nvm_compute_checksum() { |
|
echo "not checksum: ${1}" |
|
} |
|
|
|
set +x |
|
OUTPUT="$(nvm_compare_checksum ../../../nvm.sh checksum 2>&1 >/dev/null || echo)" |
|
EXIT_CODE="$(nvm_compare_checksum ../../../nvm.sh checksum >/dev/null 2>&1 || echo $?)" |
|
set -x |
|
EXPECTED_OUTPUT="Checksums do not match: 'not checksum: ../../../nvm.sh' found, 'checksum' expected." |
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<" |
|
[ "${EXIT_CODE}" = 1 ] || die "expected to exit with code 1, got ${EXIT_CODE}" |
|
|
|
nvm_compute_checksum() { |
|
echo checksum |
|
} |
|
set +x |
|
OUTPUT="$(nvm_compare_checksum ../../../nvm.sh checksum 2>&1 >/dev/null)" |
|
EXIT_CODE="$(nvm_compare_checksum ../../../nvm.sh checksum >/dev/null 2>&1; echo $?)" |
|
set -x |
|
EXPECTED_OUTPUT='Checksums matched!' |
|
[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<" |
|
[ "${EXIT_CODE}" = 0 ] || die "expected to exit with code 0, got ${EXIT_CODE}" |
|
|
|
cleanup
|
|
|