[Tests] fix 4 test failures

- `nvm-exec` test: expect "Found .nvmrc" message in output, since `nvm_rc_version` now outputs it to stdout via fd 3 redirection (ef162036)
- `nvm_install_binary_nosource`: fix exit code capture by running the command directly instead of inside a subshell with `echo $?` (05d78477)
- `nvm_iojs_version_has_solaris_binary`: bare versions like `v3.3.1` (without `iojs-` prefix) are node versions and should be rejected. The old tests relied on the buggy comparison that let them through (53e6244a)
- `nvm_get_arch_unofficial`: copy `uname` into the chroot. The old test passed only because the unconditional `NVM_ARCH=x64-musl` masked the missing binary, but the `case` fix now requires a real arch to match (39e71eab)
This commit is contained in:
Jordan Harband
2026-03-24 12:44:21 -07:00
parent ae31eceecc
commit 3e37cfb9c4
4 changed files with 11 additions and 7 deletions

View File

@@ -37,11 +37,12 @@ setup_chroot() {
# Files and binaries
cp ../../../nvm.sh "${chroot_dir}/"
cp /bin/sh /usr/bin/dirname "${chroot_dir}/bin/"
cp /bin/sh /usr/bin/dirname /usr/bin/uname "${chroot_dir}/usr/bin/"
ln -sf ../usr/bin/sh "${chroot_dir}/bin/sh"
[ "${chroot_dir}" = "${CHROOT_WITH_ALPINE}" ] && touch "${chroot_dir}/etc/alpine-release"
# Libraries
for binary in /bin/sh /usr/bin/dirname; do
for binary in /bin/sh /usr/bin/dirname /usr/bin/uname; do
for lib in $(ldd $binary | awk '{print $3}' | grep "^/"); do
dir=$(dirname "${lib}")
mkdir -p "${chroot_dir}${dir}"