diff --git a/nvm.sh b/nvm.sh index 4d842ac0..7c183b83 100755 --- a/nvm.sh +++ b/nvm.sh @@ -880,6 +880,10 @@ nvm_find_nvmrc() { } nvm_nvmrc_invalid_msg() { + if [ "${NVM_SILENT:-0}" -eq 1 ]; then + return 0 + fi + local error_text error_text="invalid .nvmrc! all non-commented content (anything after # is a comment) must be either: diff --git a/test/fast/Unit tests/nvm_process_nvmrc_content respects NVM_SILENT b/test/fast/Unit tests/nvm_process_nvmrc_content respects NVM_SILENT new file mode 100755 index 00000000..b17f43da --- /dev/null +++ b/test/fast/Unit tests/nvm_process_nvmrc_content respects NVM_SILENT @@ -0,0 +1,21 @@ +#!/bin/sh + +die () { echo "$@" ; exit 1; } + +: nvm.sh +\. ../../../nvm.sh + +\. ../../common.sh + +try_err nvm_process_nvmrc_content 'secret=hunter2' +[ "${CAPTURED_EXIT_CODE}" = '1' ] || die "expected exit code 1; got ${CAPTURED_EXIT_CODE}" +case "${CAPTURED_STDERR}" in + *'invalid .nvmrc!'*'secret=hunter2'*) ;; + *) die "expected the invalid .nvmrc message; got >${CAPTURED_STDERR}<" ;; +esac + +NVM_SILENT=1 +try_err nvm_process_nvmrc_content 'secret=hunter2' +unset NVM_SILENT +[ "${CAPTURED_EXIT_CODE}" = '1' ] || die "expected exit code 1 with NVM_SILENT=1; got ${CAPTURED_EXIT_CODE}" +[ -z "${CAPTURED_STDERR}" ] || die "expected no output with NVM_SILENT=1; got >${CAPTURED_STDERR}<"