[Tests] make the fast suite pass on macOS

- `nvm_get_arch`: the unmocked smartos cases fall through to the host, so only run them on x86_64
- `nvm_get_arch_unofficial`: the chroot checks need x86_64 glibc Linux
- `nvm_install_no_progress_bar`: derive the tarball slug and checksum tool instead of assuming linux-x64 and `sha256sum`
This commit is contained in:
Jordan Harband
2026-09-30 16:09:09 +09:00
parent e2f57b733f
commit 79bc9b90dd
3 changed files with 13 additions and 8 deletions
+4 -4
View File
@@ -90,10 +90,10 @@ run_test amd64 smartos x64 no_pkg_info
run_test x86 osx x86
run_test amd64 osx x64
# These smartos cases have no arch-specific uname mock, so nvm_get_os falls
# through to the real host; on Alpine that host is linux and picks up the musl
# suffix, which these non-musl assertions do not expect. Skip them there.
if [ ! -f "/etc/alpine-release" ]; then
# These smartos cases have no arch-specific uname mock, so they fall through to
# the real host: they only hold on an x86_64 host, and not on Alpine, where the
# host picks up the musl suffix these non-musl assertions do not expect.
if [ ! -f "/etc/alpine-release" ] && [ "$(command uname -m)" = 'x86_64' ]; then
run_test arm64 smartos x64
run_test armv8l smartos x64
fi
@@ -63,6 +63,8 @@ setup_chroot() {
# test, so skip the chroot checks there and still run the ls-remote checks.
if [ -f "/etc/alpine-release" ]; then
echo "on Alpine; skipping chroot arch checks (covered by 'nvm_get_arch alpine')"
elif [ "$(command uname -s)" != 'Linux' ] || [ "$(command uname -m)" != 'x86_64' ] || [ ! -e /lib64/ld-linux-x86-64.so.2 ]; then
echo "not on x86_64 glibc Linux; skipping chroot arch checks"
else
setup_chroot "${CHROOT_WITH_ALPINE}"
setup_chroot "${CHROOT_WITHOUT_ALPINE}"
@@ -24,10 +24,13 @@ fi
cleanup
SLUG="$(nvm_get_download_slug node binary v0.12.18)"
CHECKSUM_LINE="$(nvm_compute_checksum ../../../nvm.sh 2>&1 >/dev/null)"
OUTPUT="$(TERM=dumb 2>&1 nvm install --no-progress v0.12.18)"
EXPECTED_OUTPUT="Downloading and installing node v0.12.18...
Downloading https://nodejs.org/dist/v0.12.18/node-v0.12.18-linux-x64.tar.xz...
Computing checksum with sha256sum
Downloading https://nodejs.org/dist/v0.12.18/${SLUG}.tar.xz...
${CHECKSUM_LINE}
Checksums matched!
Now using node v0.12.18 (npm v2.15.11)
Creating default alias: default -> v0.12.18 *"
@@ -40,9 +43,9 @@ cleanup
OUTPUT="$(TERM=dumb 2>&1 nvm install v0.12.18)"
EXPECTED_OUTPUT="Downloading and installing node v0.12.18...
Downloading https://nodejs.org/dist/v0.12.18/node-v0.12.18-linux-x64.tar.xz...
Downloading https://nodejs.org/dist/v0.12.18/${SLUG}.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
${CHECKSUM_LINE}
Checksums matched!
Now using node v0.12.18 (npm v2.15.11)
Creating default alias: default -> v0.12.18 *"