[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 x86 osx x86
run_test amd64 osx x64 run_test amd64 osx x64
# These smartos cases have no arch-specific uname mock, so nvm_get_os falls # These smartos cases have no arch-specific uname mock, so they fall through to
# through to the real host; on Alpine that host is linux and picks up the musl # the real host: they only hold on an x86_64 host, and not on Alpine, where the
# suffix, which these non-musl assertions do not expect. Skip them there. # host picks up the musl suffix these non-musl assertions do not expect.
if [ ! -f "/etc/alpine-release" ]; then if [ ! -f "/etc/alpine-release" ] && [ "$(command uname -m)" = 'x86_64' ]; then
run_test arm64 smartos x64 run_test arm64 smartos x64
run_test armv8l smartos x64 run_test armv8l smartos x64
fi fi
@@ -63,6 +63,8 @@ setup_chroot() {
# test, so skip the chroot checks there and still run the ls-remote checks. # test, so skip the chroot checks there and still run the ls-remote checks.
if [ -f "/etc/alpine-release" ]; then if [ -f "/etc/alpine-release" ]; then
echo "on Alpine; skipping chroot arch checks (covered by 'nvm_get_arch alpine')" 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 else
setup_chroot "${CHROOT_WITH_ALPINE}" setup_chroot "${CHROOT_WITH_ALPINE}"
setup_chroot "${CHROOT_WITHOUT_ALPINE}" setup_chroot "${CHROOT_WITHOUT_ALPINE}"
@@ -24,10 +24,13 @@ fi
cleanup 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)" OUTPUT="$(TERM=dumb 2>&1 nvm install --no-progress v0.12.18)"
EXPECTED_OUTPUT="Downloading and installing node 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...
Computing checksum with sha256sum ${CHECKSUM_LINE}
Checksums matched! Checksums matched!
Now using node v0.12.18 (npm v2.15.11) Now using node v0.12.18 (npm v2.15.11)
Creating default alias: default -> v0.12.18 *" Creating default alias: default -> v0.12.18 *"
@@ -40,9 +43,9 @@ cleanup
OUTPUT="$(TERM=dumb 2>&1 nvm install v0.12.18)" OUTPUT="$(TERM=dumb 2>&1 nvm install v0.12.18)"
EXPECTED_OUTPUT="Downloading and installing node 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% ######################################################################### 100.0%
Computing checksum with sha256sum ${CHECKSUM_LINE}
Checksums matched! Checksums matched!
Now using node v0.12.18 (npm v2.15.11) Now using node v0.12.18 (npm v2.15.11)
Creating default alias: default -> v0.12.18 *" Creating default alias: default -> v0.12.18 *"