| #!/bin/sh |
| |
| set -ex |
| |
| BEFORE="./before.tmp" |
| AFTER="./after.tmp" |
| |
| cleanup () { rm -f "${BEFORE}" "${AFTER}"; } |
| die () { echo "$@" ; cleanup ; exit 1; } |
| |
| typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${BEFORE}" |
| env | grep -v PATH= | grep -v IFS= | grep -v NVM_ | sort >> "${BEFORE}" |
| |
| set +e # TODO: fix |
| \. ../../nvm.sh |
| set -e |
| |
| type nvm > /dev/null 2>&1 || die "nvm not loaded" |
| |
| nvm unload |
| |
| typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${AFTER}" |
| env | grep -v PATH= | grep -v IFS= | sort >> "${AFTER}" |
| |
| ! type nvm > /dev/null 2>&1 || die "nvm not unloaded" |
| |
| DIFF="$(diff "${BEFORE}" "${AFTER}" ||:)" |
| [ -z "${DIFF}" ] || die "function pollution found: ${DIFF}" |
| |
| cleanup |