mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-09-04 03:33:46 +00:00
Compare commits
136 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c966204cd6 | ||
![]() |
d72b35b7b8 | ||
![]() |
d50a0f46e9 | ||
![]() |
82393f5b36 | ||
![]() |
a1a8e5a51b | ||
![]() |
108f630732 | ||
![]() |
96e73825bd | ||
![]() |
9fc20bb14b | ||
![]() |
3401d15a18 | ||
![]() |
394e8505d9 | ||
![]() |
fc86834e29 | ||
![]() |
609d9ee4ea | ||
![]() |
70370a857f | ||
![]() |
65a986c633 | ||
![]() |
3cc5d6af67 | ||
![]() |
999c4111c1 | ||
![]() |
3d69cf7437 | ||
![]() |
207521d54b | ||
![]() |
7750253bca | ||
![]() |
14b23bfa95 | ||
![]() |
bf7bd3e793 | ||
![]() |
2b63f37f8d | ||
![]() |
230b479648 | ||
![]() |
5802ac3ea7 | ||
![]() |
b18126cb15 | ||
![]() |
c16919becd | ||
![]() |
8ae7a37d43 | ||
![]() |
ceb66d1356 | ||
![]() |
16a730f4cc | ||
![]() |
f8064b259d | ||
![]() |
f8ee25ab5b | ||
![]() |
fb48129cd4 | ||
![]() |
9e154b159e | ||
![]() |
fb853614a7 | ||
![]() |
0d9329435c | ||
![]() |
a0d04d0b6b | ||
![]() |
6c1a310846 | ||
![]() |
758141f41e | ||
![]() |
7d22e0c458 | ||
![]() |
cd481ff548 | ||
![]() |
12ca8f2607 | ||
![]() |
e58d4abf11 | ||
![]() |
820074e1d7 | ||
![]() |
3d6b7976e7 | ||
![]() |
3190effedd | ||
![]() |
d0617b5b79 | ||
![]() |
286c808739 | ||
![]() |
f0d81e2d33 | ||
![]() |
4768973a85 | ||
![]() |
4508f7c33e | ||
![]() |
ea4264645b | ||
![]() |
a216f56443 | ||
![]() |
c8efe3d28a | ||
![]() |
0717d5f995 | ||
![]() |
6cfc309336 | ||
![]() |
dd1a9ca6a0 | ||
![]() |
4ba7ee5797 | ||
![]() |
40c9d6fd11 | ||
![]() |
2db71a85a5 | ||
![]() |
64b16faf72 | ||
![]() |
be56ff3b2e | ||
![]() |
59e27f8108 | ||
![]() |
0f1f3ed29c | ||
![]() |
2116d2ff91 | ||
![]() |
0b4c1e14cf | ||
![]() |
e1b7496cf0 | ||
![]() |
8a87133f71 | ||
![]() |
0792945824 | ||
![]() |
a6819b3018 | ||
![]() |
3d3d9d3a8d | ||
![]() |
3e74bac964 | ||
![]() |
1eaf6b53e4 | ||
![]() |
24c60e4e51 | ||
![]() |
8822bd719a | ||
![]() |
d90c1eca39 | ||
![]() |
223f388693 | ||
![]() |
cba5094652 | ||
![]() |
b5d9e547f2 | ||
![]() |
15598899b6 | ||
![]() |
c8f712a334 | ||
![]() |
2d9494af45 | ||
![]() |
2755227d40 | ||
![]() |
dd146519a2 | ||
![]() |
7243bd77d3 | ||
![]() |
7d113a2b2f | ||
![]() |
17df0b9912 | ||
![]() |
6cac732141 | ||
![]() |
9ee864b06f | ||
![]() |
0471d0ffd6 | ||
![]() |
43a7d78693 | ||
![]() |
879dda6c3d | ||
![]() |
ea12784629 | ||
![]() |
f1f11e3b7a | ||
![]() |
247bd310ef | ||
![]() |
dbeeb683da | ||
![]() |
39a75e616d | ||
![]() |
3cf68dc18d | ||
![]() |
654c37bc29 | ||
![]() |
c6a9f7baae | ||
![]() |
bb2564d6db | ||
![]() |
896a7eddd3 | ||
![]() |
8ae7b33632 | ||
![]() |
eb8c3414dd | ||
![]() |
9615672243 | ||
![]() |
78c1f2cf9d | ||
![]() |
ed22d3de2d | ||
![]() |
448bd38a55 | ||
![]() |
0ad5a450fe | ||
![]() |
d5e21be164 | ||
![]() |
797c5ab70b | ||
![]() |
952096d034 | ||
![]() |
dd3a3763ce | ||
![]() |
41c379839d | ||
![]() |
d9340b6a53 | ||
![]() |
b0d6c05d6e | ||
![]() |
0e209ce890 | ||
![]() |
9a57a891b9 | ||
![]() |
58ab2c3128 | ||
![]() |
d70f0357f5 | ||
![]() |
5143de9653 | ||
![]() |
5c336a7ccb | ||
![]() |
3d5ded1815 | ||
![]() |
f661617f1c | ||
![]() |
d28703f9e0 | ||
![]() |
b7983842aa | ||
![]() |
c12104cecd | ||
![]() |
98e0655198 | ||
![]() |
c46748a379 | ||
![]() |
8be97c8abb | ||
![]() |
7807a9f09e | ||
![]() |
835c006b5e | ||
![]() |
3fa11c35cb | ||
![]() |
34e51f9f02 | ||
![]() |
4b5885d69d | ||
![]() |
bf794ff8da | ||
![]() |
0bd7372c64 |
@@ -1,7 +1,10 @@
|
||||
language: c # defaults to ruby
|
||||
addons:
|
||||
apt_packages:
|
||||
- zsh
|
||||
- ksh
|
||||
install:
|
||||
- sudo apt-get install zsh -y # ksh
|
||||
- (mkdir /tmp/urchin && cd /tmp/urchin && curl -s "$(curl -s http://registry.npmjs.org/urchin | grep -Eo '"tarball":\s*"[^"]+"' | tail -n 1 | awk -F\" '{ print $4 }')" -O && tar -x -f urchin*)
|
||||
- (mkdir /tmp/urchin && cd /tmp/urchin && curl -s "$(curl -s https://registry.npmjs.com/urchin | grep -Eo '"tarball":\s*"[^"]+"' | tail -n 1 | awk -F\" '{ print $4 }')" -O && tar -x -f urchin*)
|
||||
- chmod +x /tmp/urchin/package/urchin
|
||||
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
||||
script:
|
||||
|
@@ -5,18 +5,22 @@
|
||||
First you'll need to make sure your system has a c++ compiler. For OSX, XCode will work, for Ubuntu, the build-essential and libssl-dev packages work.
|
||||
|
||||
Note: `nvm` does not support Windows (see [#284](https://github.com/creationix/nvm/issues/284)). Two alternatives exist, which are not supported nor developed by us:
|
||||
- [nvmw](http://github.com/hakobera/nvmw)
|
||||
- [nvm-windows](http://github.com/coreybutler/nvm-windows)
|
||||
- [nvmw](https://github.com/hakobera/nvmw)
|
||||
- [nvm-windows](https://github.com/coreybutler/nvm-windows)
|
||||
|
||||
Note: `nvm` does not support [Fish] either (see [#303](https://github.com/creationix/nvm/issues/303)). Two alternatives exist, which are not supported nor developed by us:
|
||||
- [nvm-fish-wrapper](https://github.com/passcod/nvm-fish-wrapper)
|
||||
- [nvm-fish](https://github.com/Alex7Kom/nvm-fish) (does not support iojs)
|
||||
|
||||
### Install script
|
||||
|
||||
To install you could use the [install script][2] using cURL:
|
||||
|
||||
curl https://raw.githubusercontent.com/creationix/nvm/v0.22.1/install.sh | bash
|
||||
curl https://raw.githubusercontent.com/creationix/nvm/v0.24.1/install.sh | bash
|
||||
|
||||
or Wget:
|
||||
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.22.1/install.sh | bash
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.24.1/install.sh | bash
|
||||
|
||||
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`).</sub>
|
||||
|
||||
@@ -72,6 +76,10 @@ In place of a version pointer like "0.10", you can use the special default alias
|
||||
nvm use stable
|
||||
nvm run unstable --version
|
||||
|
||||
If you want to install [io.js](https://github.com/iojs/io.js/):
|
||||
|
||||
nvm install iojs
|
||||
|
||||
If you want to use the system-installed version of node, you can use the special default alias "system":
|
||||
|
||||
nvm use system
|
||||
@@ -95,10 +103,17 @@ To set a default Node version to be used in any new shell, use the alias 'defaul
|
||||
|
||||
To use a mirror of the node binaries, set `$NVM_NODEJS_ORG_MIRROR`:
|
||||
|
||||
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
|
||||
export NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
|
||||
nvm install 0.10
|
||||
|
||||
NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm install 0.10
|
||||
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist nvm install 0.10
|
||||
|
||||
To use a mirror of the iojs binaries, set `$NVM_IOJS_ORG_MIRROR`:
|
||||
|
||||
export NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
|
||||
nvm install iojs-v1.0.3
|
||||
|
||||
NVM_IOJS_ORG_MIRROR=https://iojs.org/dist nvm install iojs-v1.0.3
|
||||
|
||||
`nvm use` will not, by default, create a "current" symlink. Set `$NVM_SYMLINK_CURRENT` to "true" to enable this behavior, which is sometimes useful for IDEs.
|
||||
|
||||
@@ -178,11 +193,11 @@ If you try to install a node version and the installation fails, be sure to dele
|
||||
|
||||
curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.
|
||||
|
||||
Where's my 'sudo node'? Checkout this link:
|
||||
Where's my 'sudo node'? Check out this link:
|
||||
|
||||
https://github.com/creationix/nvm/issues/43
|
||||
|
||||
on Arch Linux and other systems using python3 by default, before running *install* you need to
|
||||
On Arch Linux and other systems using python3 by default, before running *install* you need to
|
||||
|
||||
export PYTHON=python2
|
||||
|
||||
@@ -191,7 +206,7 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But
|
||||
nvm install -s 0.8.6
|
||||
|
||||
[1]: https://github.com/creationix/nvm.git
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.22.1/install.sh
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.24.1/install.sh
|
||||
[3]: https://travis-ci.org/creationix/nvm
|
||||
[Urchin]: https://github.com/scraperwiki/urchin
|
||||
|
||||
[Fish]: http://fishshell.com
|
||||
|
@@ -73,7 +73,7 @@ __nvm ()
|
||||
previous_word="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
|
||||
case "$previous_word" in
|
||||
use|run|ls|list|uninstall) __nvm_installed_nodes ;;
|
||||
use|run|exec|ls|list|uninstall) __nvm_installed_nodes ;;
|
||||
alias|unalias) __nvm_alias ;;
|
||||
*) __nvm_commands ;;
|
||||
esac
|
||||
|
94
install.sh
94
install.sh
@@ -11,33 +11,33 @@ if [ -z "$NVM_DIR" ]; then
|
||||
fi
|
||||
|
||||
nvm_latest_version() {
|
||||
echo "v0.22.1"
|
||||
echo "v0.24.1"
|
||||
}
|
||||
|
||||
#
|
||||
# Outputs the location to NVM depending on:
|
||||
# * The availability of $NVM_SOURCE
|
||||
# * The method used ("script" or "git" in the script, defaults to "git")
|
||||
# NVM_SOURCE always takes precedence
|
||||
# NVM_SOURCE always takes precedence unless the method is "script-nvm-exec"
|
||||
#
|
||||
nvm_source() {
|
||||
local NVM_METHOD
|
||||
NVM_METHOD="$1"
|
||||
if [ -z "$NVM_SOURCE" ]; then
|
||||
local NVM_SOURCE
|
||||
local NVM_SOURCE_URL
|
||||
NVM_SOURCE_URL="$NVM_SOURCE"
|
||||
if [ "_$NVM_METHOD" = "_script-nvm-exec" ]; then
|
||||
NVM_SOURCE_URL="https://raw.githubusercontent.com/creationix/nvm/$(nvm_latest_version)/nvm-exec"
|
||||
elif [ -z "$NVM_SOURCE_URL" ]; then
|
||||
if [ "_$NVM_METHOD" = "_script" ]; then
|
||||
NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/$(nvm_latest_version)/nvm.sh"
|
||||
elif [ "_$NVM_METHOD" = "_script-nvm-exec" ]; then
|
||||
NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/$(nvm_latest_version)/nvm-exec"
|
||||
NVM_SOURCE_URL="https://raw.githubusercontent.com/creationix/nvm/$(nvm_latest_version)/nvm.sh"
|
||||
elif [ "_$NVM_METHOD" = "_git" ] || [ -z "$NVM_METHOD" ]; then
|
||||
NVM_SOURCE="https://github.com/creationix/nvm.git"
|
||||
NVM_SOURCE_URL="https://github.com/creationix/nvm.git"
|
||||
else
|
||||
echo >&2 "Unexpected value \"$NVM_METHOD\" for \$NVM_METHOD"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
echo "$NVM_SOURCE"
|
||||
return 0
|
||||
echo "$NVM_SOURCE_URL"
|
||||
}
|
||||
|
||||
nvm_download() {
|
||||
@@ -57,9 +57,9 @@ nvm_download() {
|
||||
|
||||
install_nvm_from_git() {
|
||||
if [ -d "$NVM_DIR/.git" ]; then
|
||||
echo "=> nvm is already installed in $NVM_DIR, trying to update"
|
||||
echo "=> nvm is already installed in $NVM_DIR, trying to update using git"
|
||||
printf "\r=> "
|
||||
cd "$NVM_DIR" && (git fetch 2> /dev/null || {
|
||||
cd "$NVM_DIR" && (command git fetch 2> /dev/null || {
|
||||
echo >&2 "Failed to update nvm, run 'git fetch' in $NVM_DIR yourself." && exit 1
|
||||
})
|
||||
else
|
||||
@@ -67,27 +67,30 @@ install_nvm_from_git() {
|
||||
echo "=> Downloading nvm from git to '$NVM_DIR'"
|
||||
printf "\r=> "
|
||||
mkdir -p "$NVM_DIR"
|
||||
git clone "$(nvm_source git)" "$NVM_DIR"
|
||||
command git clone "$(nvm_source git)" "$NVM_DIR"
|
||||
fi
|
||||
cd "$NVM_DIR" && command git checkout --quiet $(nvm_latest_version)
|
||||
if [ ! -z "$(cd "$NVM_DIR" && git show-ref refs/heads/master)" ]; then
|
||||
cd "$NVM_DIR" && command git branch --quiet -D master >/dev/null 2>&1
|
||||
fi
|
||||
cd "$NVM_DIR" && git checkout --quiet $(nvm_latest_version) && git branch --quiet -D master >/dev/null 2>&1
|
||||
return
|
||||
}
|
||||
|
||||
install_nvm_as_script() {
|
||||
local NVM_SOURCE
|
||||
NVM_SOURCE=$(nvm_source script)
|
||||
local NVM_SOURCE_LOCAL
|
||||
NVM_SOURCE_LOCAL=$(nvm_source script)
|
||||
local NVM_EXEC_SOURCE
|
||||
NVM_EXEC_SOURCE=$(nvm_source script-nvm-exec)
|
||||
|
||||
# Downloading to $NVM_DIR
|
||||
mkdir -p "$NVM_DIR"
|
||||
if [ -d "$NVM_DIR/nvm.sh" ]; then
|
||||
echo "=> nvm is already installed in $NVM_DIR, trying to update"
|
||||
echo "=> nvm is already installed in $NVM_DIR, trying to update the script"
|
||||
else
|
||||
echo "=> Downloading nvm as script to '$NVM_DIR'"
|
||||
fi
|
||||
nvm_download -s "$NVM_SOURCE" -o "$NVM_DIR/nvm.sh" || {
|
||||
echo >&2 "Failed to download '$NVM_SOURCE'"
|
||||
nvm_download -s "$NVM_SOURCE_LOCAL" -o "$NVM_DIR/nvm.sh" || {
|
||||
echo >&2 "Failed to download '$NVM_SOURCE_LOCAL'"
|
||||
return 1
|
||||
}
|
||||
nvm_download -s "$NVM_EXEC_SOURCE" -o "$NVM_DIR/nvm-exec" || {
|
||||
@@ -120,6 +123,53 @@ nvm_detect_profile() {
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Check whether the user has any globally-installed npm modules in their system
|
||||
# Node, and warn them if so.
|
||||
#
|
||||
nvm_check_global_modules() {
|
||||
command -v npm >/dev/null 2>&1 || return 0
|
||||
|
||||
local NPM_VERSION
|
||||
NPM_VERSION="$(npm --version)"
|
||||
NPM_VERSION="${NPM_VERSION:--1}"
|
||||
[ "${NPM_VERSION%%[!-0-9]*}" -gt 0 ] || return 0
|
||||
|
||||
local NPM_GLOBAL_MODULES
|
||||
NPM_GLOBAL_MODULES="$(
|
||||
npm list -g --depth=0 |
|
||||
sed '/ npm@/d' |
|
||||
sed '/ (empty)$/d'
|
||||
)"
|
||||
|
||||
local MODULE_COUNT
|
||||
MODULE_COUNT="$(
|
||||
printf %s\\n "$NPM_GLOBAL_MODULES" |
|
||||
sed -ne '1!p' | # Remove the first line
|
||||
wc -l | tr -d ' ' # Count entries
|
||||
)"
|
||||
|
||||
if [ $MODULE_COUNT -ne 0 ]; then
|
||||
cat <<-'END_MESSAGE'
|
||||
=> You currently have modules installed globally with `npm`. These will no
|
||||
=> longer be linked to the active version of Node when you install a new node
|
||||
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
|
||||
=> override the binaries of modules installed with `nvm`:
|
||||
|
||||
END_MESSAGE
|
||||
printf %s\\n "$NPM_GLOBAL_MODULES"
|
||||
cat <<-'END_MESSAGE'
|
||||
|
||||
=> If you wish to uninstall them at a later point (or re-install them under your
|
||||
=> `nvm` Nodes), you can remove them from the system Node as follows:
|
||||
|
||||
$ nvm use system
|
||||
$ npm uninstall -g a_module
|
||||
|
||||
END_MESSAGE
|
||||
fi
|
||||
}
|
||||
|
||||
nvm_do_install() {
|
||||
if [ -z "$METHOD" ]; then
|
||||
# Autodetect install method
|
||||
@@ -169,6 +219,8 @@ nvm_do_install() {
|
||||
fi
|
||||
fi
|
||||
|
||||
nvm_check_global_modules
|
||||
|
||||
echo "=> Close and reopen your terminal to start using nvm"
|
||||
nvm_reset
|
||||
}
|
||||
@@ -178,7 +230,9 @@ nvm_do_install() {
|
||||
# during the execution of the install script
|
||||
#
|
||||
nvm_reset() {
|
||||
unset -f nvm_do_install nvm_has nvm_download install_nvm_as_script install_nvm_from_git nvm_reset nvm_detect_profile nvm_latest_version
|
||||
unset -f nvm_reset nvm_has nvm_latest_version \
|
||||
nvm_source nvm_download install_nvm_as_script install_nvm_from_git \
|
||||
nvm_detect_profile nvm_check_global_modules nvm_do_install
|
||||
}
|
||||
|
||||
[ "_$NVM_ENV" = "_testing" ] || nvm_do_install
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nvm",
|
||||
"version": "0.22.1",
|
||||
"version": "0.24.1",
|
||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
|
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
if [ -n "$ZSH_VERSION" ]; then
|
||||
# set clobber option in order to test that this does not produce any
|
||||
# incompatibilities
|
||||
setopt noclobber
|
||||
fi
|
||||
|
||||
nvm alias test-stable-1 0.0.2
|
||||
|
||||
nvm alias test-stable-1 | \grep -e "test-stable-1 -> 0.0.2 (-> v0.0.2)" \
|
||||
|| die "nvm alias test-stable-1 0.0.2 did not set test-stable-1 to 0.0.2"
|
||||
|
||||
nvm alias test-stable-1 0.0.1
|
||||
|
||||
nvm alias test-stable-1 | \grep -e "test-stable-1 -> 0.0.1 (-> v0.0.1)" \
|
||||
|| die "nvm alias test-stable-1 0.0.1 did not set test-stable-1 to 0.0.1"
|
@@ -11,8 +11,16 @@ STABLE_VERSION="$(nvm_version "$EXPECTED_STABLE")"
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -e "^stable -> $EXPECTED_STABLE (-> $STABLE_VERSION) (default)$" \
|
||||
|| die "nvm alias did not contain the default local stable node version"
|
||||
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -e "^node -> stable (-> $STABLE_VERSION) (default)$" \
|
||||
|| die "nvm alias did not contain the default local stable node version under 'node'"
|
||||
|
||||
EXPECTED_UNSTABLE="$(nvm_print_implicit_alias local unstable)"
|
||||
UNSTABLE_VERSION="$(nvm_version "$EXPECTED_UNSTABLE")"
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -e "^unstable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION) (default)$" \
|
||||
|| die "nvm alias did not contain the default local unstable node version"
|
||||
|
||||
EXPECTED_IOJS="$(nvm_print_implicit_alias local iojs)"
|
||||
IOJS_VERSION="$(nvm_version "$EXPECTED_IOJS")"
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -e "^iojs -> $EXPECTED_IOJS (-> $IOJS_VERSION) (default)$" \
|
||||
|| die "nvm alias did not contain the default local iojs version"
|
||||
|
||||
|
@@ -6,12 +6,16 @@ die () { echo $@ ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
rm -rf ../../../alias/stable
|
||||
rm -rf ../../../alias/unstable
|
||||
rm -rf ../../../alias/node
|
||||
rm -rf ../../../alias/iojs
|
||||
rm -rf ../../../v0.8.1
|
||||
rm -rf ../../../v0.9.1
|
||||
rm -rf ../../../versions/io.js/v0.2.1
|
||||
}
|
||||
|
||||
mkdir ../../../v0.8.1
|
||||
mkdir ../../../v0.9.1
|
||||
mkdir -p ../../../versions/io.js/v0.2.1
|
||||
|
||||
EXPECTED_STABLE="$(nvm_print_implicit_alias local stable)"
|
||||
STABLE_VERSION="$(nvm_version "$EXPECTED_STABLE")"
|
||||
@@ -24,14 +28,22 @@ UNSTABLE_VERSION="$(nvm_version "$EXPECTED_UNSTABLE")"
|
||||
|
||||
nvm alias stable "$EXPECTED_UNSTABLE"
|
||||
nvm alias unstable "$EXPECTED_STABLE"
|
||||
nvm alias node stable
|
||||
nvm alias iojs unstable
|
||||
|
||||
NVM_ALIAS_OUTPUT=$(nvm alias)
|
||||
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -e "^stable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION)$" \
|
||||
echo "$NVM_ALIAS_OUTPUT" | command grep -e "^stable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION)$" \
|
||||
|| die "nvm alias did not contain the overridden 'stable' alias"
|
||||
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -e "^unstable -> $EXPECTED_STABLE (-> $STABLE_VERSION)$" \
|
||||
echo "$NVM_ALIAS_OUTPUT" | command grep -e "^unstable -> $EXPECTED_STABLE (-> $STABLE_VERSION)$" \
|
||||
|| die "nvm alias did not contain the overridden 'unstable' alias"
|
||||
|
||||
echo "$NVM_ALIAS_OUTPUT" | command grep -e "^node -> stable (-> $UNSTABLE_VERSION)$" \
|
||||
|| die "nvm alias did not contain the overridden 'node' alias"
|
||||
|
||||
echo "$NVM_ALIAS_OUTPUT" | command grep -e "^iojs -> unstable (-> $STABLE_VERSION)$" \
|
||||
|| die "nvm alias did not contain the overridden 'iojs' alias"
|
||||
|
||||
cleanup
|
||||
|
||||
|
36
test/fast/Aliases/circular/nvm_resolve_local_alias
Executable file
36
test/fast/Aliases/circular/nvm_resolve_local_alias
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../../nvm.sh
|
||||
|
||||
ALIAS="$(nvm_resolve_local_alias loopback)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias loopback was not ∞; got $ALIAS"
|
||||
OUTPUT="$(nvm alias loopback)"
|
||||
EXPECTED_OUTPUT="loopback -> loopback (-> ∞)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm alias loopback was not $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
ALIAS="$(nvm_resolve_local_alias one)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias one was not ∞; got $ALIAS"
|
||||
OUTPUT="$(nvm alias one)"
|
||||
EXPECTED_OUTPUT="one -> two (-> ∞)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm alias one was not $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
ALIAS="$(nvm_resolve_local_alias two)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias two was not ∞; got $ALIAS"
|
||||
OUTPUT="$(nvm alias two)"
|
||||
EXPECTED_OUTPUT="two -> three (-> ∞)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm alias two was not $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
ALIAS="$(nvm_resolve_local_alias three)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias three was not ∞; got $ALIAS"
|
||||
OUTPUT="$(nvm alias three)"
|
||||
EXPECTED_OUTPUT="three -> one (-> ∞)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm alias three was not $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
ALIAS="$(nvm_resolve_local_alias four)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias four was not ∞; got $ALIAS"
|
||||
OUTPUT="$(nvm alias four)"
|
||||
EXPECTED_OUTPUT="four -> two (-> ∞)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm alias four was not $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
@@ -21,8 +21,13 @@ EXIT_CODE=$(nvm_resolve_alias nonexistent ; echo $?)
|
||||
[ $EXIT_CODE = "2" ] || die "'nvm_resolve_alias nonexistent' did not return 2; got $EXIT_CODE"
|
||||
|
||||
STABLE="$(nvm_resolve_alias stable)"
|
||||
[ "_$STABLE" = "_v0.0.10" ] || die "'nvm_resolve_alias stable' was not v0.0.10; got $STABLE"
|
||||
[ "_$STABLE" = "_v0.0" ] || die "'nvm_resolve_alias stable' was not v0.0; got $STABLE"
|
||||
|
||||
NODE="$(nvm_resolve_alias node)"
|
||||
[ "_$NODE" = "_stable" ] || die "'nvm_resolve_alias node' was not stable; got $NODE"
|
||||
|
||||
UNSTABLE="$(nvm_resolve_alias unstable)"
|
||||
[ "_$UNSTABLE" = "_v0.1.10" ] || die "'nvm_resolve_alias unstable' was not v0.1.10; got $UNSTABLE"
|
||||
[ "_$UNSTABLE" = "_v0.1" ] || die "'nvm_resolve_alias unstable' was not v0.1; got $UNSTABLE"
|
||||
|
||||
IOJS="$(nvm_resolve_alias iojs)"
|
||||
[ "_$IOJS" = "_iojs-v0.2" ] || die "'nvm_resolve_alias iojs' was not iojs-v0.2; got $IOJS"
|
||||
|
35
test/fast/Aliases/nvm_resolve_local_alias
Executable file
35
test/fast/Aliases/nvm_resolve_local_alias
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
EXIT_CODE=$(nvm_resolve_local_alias ; echo $?)
|
||||
[ "_$EXIT_CODE" = "_1" ] || die "nvm_resolve_local_alias without an argument did not return 1; got $EXIT_CODE"
|
||||
|
||||
for i in $(seq 1 10)
|
||||
do
|
||||
STABLE_ALIAS="$(nvm_resolve_local_alias test-stable-$i)"
|
||||
[ "_$STABLE_ALIAS" = "_v0.0.$i" ] \
|
||||
|| die "'nvm_resolve_local_alias test-stable-$i' was not v0.0.$i; got $STABLE_ALIAS"
|
||||
UNSTABLE_ALIAS="$(nvm_resolve_local_alias test-unstable-$i)"
|
||||
[ "_$UNSTABLE_ALIAS" = "_v0.1.$i" ] \
|
||||
|| die "'nvm_resolve_local_alias test-unstable-$i' was not v0.1.$i; got $UNSTABLE_ALIAS"
|
||||
done
|
||||
|
||||
OUTPUT="$(nvm_resolve_local_alias nonexistent)"
|
||||
EXIT_CODE=$(nvm_resolve_local_alias nonexistent > /dev/null 2>&1 ; echo $?)
|
||||
[ "_$EXIT_CODE" = "_2" ] || die "'nvm_resolve_local_alias nonexistent' did not return 2; got $EXIT_CODE"
|
||||
[ "_$OUTPUT" = "_" ] || die "'nvm_resolve_local_alias nonexistent' did not have empty output; got $OUTPUT"
|
||||
|
||||
STABLE="$(nvm_resolve_local_alias stable)"
|
||||
[ "_$STABLE" = "_v0.0.10" ] || die "'nvm_resolve_local_alias stable' was not v0.0.10; got $STABLE"
|
||||
|
||||
NODE="$(nvm_resolve_local_alias node)"
|
||||
[ "_$NODE" = "_v0.0.10" ] || die "'nvm_resolve_local_alias node' was not v0.0.10; got $NODE"
|
||||
|
||||
UNSTABLE="$(nvm_resolve_local_alias unstable)"
|
||||
[ "_$UNSTABLE" = "_v0.1.10" ] || die "'nvm_resolve_local_alias unstable' was not v0.1.10; got $UNSTABLE"
|
||||
|
||||
IOJS="$(nvm_resolve_local_alias iojs)"
|
||||
[ "_$IOJS" = "_iojs-v0.2.10" ] || die "'nvm_resolve_local_alias iojs' was not iojs-v0.2.10; got $IOJS"
|
@@ -6,4 +6,6 @@ for i in $(seq 1 10)
|
||||
mkdir -p ../../../v0.0.$i
|
||||
echo 0.1.$i > ../../../alias/test-unstable-$i
|
||||
mkdir -p ../../../v0.1.$i
|
||||
echo 0.2.$i > ../../../alias/test-iojs-$i
|
||||
mkdir -p ../../../versions/io.js/v0.2.$i
|
||||
done
|
||||
|
@@ -6,8 +6,11 @@ for i in $(seq 1 10)
|
||||
rm -rf "../../../v0.0.$i"
|
||||
rm -f "../../../alias/test-unstable-$i"
|
||||
rm -rf "../../../v0.1.$i"
|
||||
rm -rf "../../../alias/test-iojs-$i"
|
||||
rm -rf "../../../versions/io.js/v0.2.$i"
|
||||
done
|
||||
|
||||
rm -f "../../../alias/stable"
|
||||
rm -f "../../../alias/unstable"
|
||||
|
||||
rm -f "../../../alias/node"
|
||||
rm -f "../../../alias/iojs"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
mkdir -p ../../../v0.0.2
|
||||
mkdir -p ../../../v0.0.20
|
||||
mkdir -p ../../../versions/v0.12.0
|
||||
mkdir -p ../../../versions/node/v0.12.0
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
|
@@ -2,6 +2,6 @@
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm ls node
|
||||
nvm ls io
|
||||
[ "$?" = "3" ]
|
||||
|
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm ls node_
|
||||
[ "$?" = "3" ]
|
||||
|
@@ -8,11 +8,17 @@ mkdir ../../../v0.0.9
|
||||
mkdir ../../../v0.3.1
|
||||
mkdir ../../../v0.3.3
|
||||
mkdir ../../../v0.3.9
|
||||
mkdir -p ../../../versions/node/v0.12.87
|
||||
mkdir -p ../../../versions/node/v0.12.9
|
||||
mkdir -p ../../../versions/io.js/v0.1.2
|
||||
mkdir -p ../../../versions/io.js/v0.10.2
|
||||
|
||||
# The result should contain the version numbers.
|
||||
nvm ls | grep v0.0.1 &&
|
||||
nvm ls | grep v0.0.3 &&
|
||||
nvm ls | grep v0.0.9 &&
|
||||
nvm ls | grep v0.3.1 &&
|
||||
nvm ls | grep v0.3.3 &&
|
||||
nvm ls | grep v0.3.9
|
||||
nvm ls | grep v0.0.1 >/dev/null &&
|
||||
nvm ls | grep v0.0.3 >/dev/null &&
|
||||
nvm ls | grep v0.0.9 >/dev/null &&
|
||||
nvm ls | grep v0.3.1 >/dev/null &&
|
||||
nvm ls | grep v0.3.3 >/dev/null &&
|
||||
nvm ls | grep v0.3.9 >/dev/null &&
|
||||
nvm ls | grep v0.12.87 >/dev/null &&
|
||||
nvm ls | grep iojs-v0.1.2 >/dev/null
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
mkdir ../../../v0.1.3
|
||||
mkdir ../../../v0.2.3
|
||||
mkdir ../../../versions
|
||||
mkdir -p ../../../versions/node
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
mkdir -p ../../../versions/v0.12.1
|
||||
mkdir -p ../../../versions/node/v0.12.1
|
||||
mkdir ../../../v0.1.3
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
22
test/fast/Running "nvm use iojs" uses latest io.js version
Executable file
22
test/fast/Running "nvm use iojs" uses latest io.js version
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
rm -rf ../../alias/foo
|
||||
}
|
||||
|
||||
. ../../nvm.sh
|
||||
|
||||
echo 'foo' > ../../alias/foo
|
||||
|
||||
OUTPUT="$(nvm use foo 2>&1)"
|
||||
EXPECTED_OUTPUT='The alias "foo" leads to an infinite loop. Aborting.'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||
|| die "'nvm use foo' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
||||
|
||||
EXIT_CODE="$(nvm use foo 2>/dev/null ; echo $?)"
|
||||
[ "_$EXIT_CODE" = "_8" ] || die "Expected exit code 8; got $EXIT_CODE"
|
||||
|
||||
cleanup;
|
||||
|
9
test/fast/Unit tests/nvm_add_iojs_prefix
Executable file
9
test/fast/Unit tests/nvm_add_iojs_prefix
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_add_iojs_prefix 1)" = "_iojs-v1" ] || die '"nvm_add_iojs_prefix 1" did not return "iojs-v1"'
|
||||
[ "_$(nvm_add_iojs_prefix iojs-1)" = "_iojs-v1" ] || die '"nvm_add_iojs_prefix iojs-1" did not return "iojs-v1"'
|
||||
[ "_$(nvm_add_iojs_prefix iojs-1.2.3)" = "_iojs-v1.2.3" ] || die '"nvm_add_iojs_prefix iojs-1.2.3" did not return "iojs-v1.2.3"'
|
8
test/fast/Unit tests/nvm_alias_path
Executable file
8
test/fast/Unit tests/nvm_alias_path
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_alias_path)" = "_$NVM_DIR/alias" ] || die "nvm_alias_path did not requrn correct location"
|
||||
|
23
test/fast/Unit tests/nvm_ensure_version_installed
Executable file
23
test/fast/Unit tests/nvm_ensure_version_installed
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
rm -rf "$(nvm_version_path v0.1.2)"
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
mkdir -p "$(nvm_version_path v0.1.2)"
|
||||
|
||||
OUTPUT="$(nvm_ensure_version_installed foo 2>&1)"
|
||||
EXIT_CODE=$?
|
||||
EXPECTED_OUTPUT='N/A: version "foo" is not yet installed'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_ensure_version_installed 0.1)"
|
||||
EXIT_CODE=$?
|
||||
[ "_$OUTPUT" = "_" ] || die "expected 'nvm_ensure_version_installed 0.1' to have no output, got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed 0.1' to exit with 0, got $EXIT_CODE"
|
||||
|
||||
cleanup
|
12
test/fast/Unit tests/nvm_ensure_version_prefix
Executable file
12
test/fast/Unit tests/nvm_ensure_version_prefix
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_ensure_version_prefix 1)" = "_v1" ] || die '"nvm_ensure_version_prefix 1" did not return "v1"'
|
||||
[ "_$(nvm_ensure_version_prefix v1)" = "_v1" ] || die '"nvm_ensure_version_prefix v1" did not return "v1"'
|
||||
[ "_$(nvm_ensure_version_prefix foo)" = "_foo" ] || die '"nvm_ensure_version_prefix foo" did not return "foo"'
|
||||
|
||||
[ "_$(nvm_ensure_version_prefix iojs-1)" = "_iojs-v1" ] || die '"nvm_ensure_version_prefix iojs-1" did not return "iojs-v1"'
|
||||
[ "_$(nvm_ensure_version_prefix iojs-v1)" = "_iojs-v1" ] || die '"nvm_ensure_version_prefix iojs-v1" did not return "iojs-v1"'
|
31
test/fast/Unit tests/nvm_has_system_iojs
Executable file
31
test/fast/Unit tests/nvm_has_system_iojs
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
cleanup () {
|
||||
rm ../../../versions/io.js/v0.1.2/node
|
||||
rm ../../../versions/io.js/v0.1.2/iojs
|
||||
rmdir ../../../versions/io.js/v0.1.2
|
||||
}
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
mkdir ../../../versions/io.js/v0.1.2
|
||||
touch ../../../versions/io.js/v0.1.2/node
|
||||
touch ../../../versions/io.js/v0.1.2/iojs
|
||||
|
||||
nvm use iojs-v0.1.2
|
||||
|
||||
if command -v iojs; then
|
||||
nvm_has_system_iojs
|
||||
else
|
||||
! nvm_has_system_iojs
|
||||
fi
|
||||
|
||||
nvm deactivate /dev/null 2>&1
|
||||
|
||||
if command -v iojs; then
|
||||
nvm_has_system_iojs
|
||||
else
|
||||
! nvm_has_system_iojs
|
||||
fi
|
||||
|
7
test/fast/Unit tests/nvm_iojs_prefix
Executable file
7
test/fast/Unit tests/nvm_iojs_prefix
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm_iojs_prefix)" = "iojs" ] || die '"nvm_iojs_prefix" did not return the string "iojs". why did this fail?!'
|
20
test/fast/Unit tests/nvm_is_alias
Executable file
20
test/fast/Unit tests/nvm_is_alias
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
cleanup () { unalias foo; unalias grep; }
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
alias foo='bar'
|
||||
nvm_is_alias foo || die '"nvm_is_alias foo" was not true'
|
||||
|
||||
! nvm_is_alias nvm_is_alias || die '"nvm_is_alias nvm_is_alias was not false'
|
||||
|
||||
alias grep='grep'
|
||||
unalias grep || die '"unalias grep" failed'
|
||||
! nvm_is_alias grep || die '"nvm_is_alias grep" with unaliased grep was not false'
|
||||
|
||||
alias grep='grep'
|
||||
nvm_is_alias grep || die '"nvm_is_alias grep" with aliased grep was not true'
|
||||
|
||||
cleanup
|
10
test/fast/Unit tests/nvm_is_iojs_version
Executable file
10
test/fast/Unit tests/nvm_is_iojs_version
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm_is_iojs_version 'iojs-' || die '"nvm_is_iojs_version iojs- was not true'
|
||||
nvm_is_iojs_version 'iojs-foo' || die '"nvm_is_iojs_version iojs- was not true'
|
||||
! nvm_is_iojs_version 'iojs' || die '"nvm_is_iojs_version iojs was not false'
|
||||
! nvm_is_iojs_version 'v1.0.0' || die '"nvm_is_iojs_version v1.0.0" was not false'
|
13
test/fast/Unit tests/nvm_is_valid_version
Executable file
13
test/fast/Unit tests/nvm_is_valid_version
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm_is_valid_version 0.1.2 || die "nvm_is_valid_version 0.1.2 did not return 0"
|
||||
nvm_is_valid_version foo && die "nvm_is_valid_version foo did not return 1"
|
||||
nvm_is_valid_version iojs-1 || die "nvm_is_valid_version iojs-1 did not return 0"
|
||||
nvm_is_valid_version iojs || die "nvm_is_valid_version iojs did not return 0"
|
||||
nvm_is_valid_version node || die "nvm_is_valid_version node did not return 0"
|
||||
nvm_is_valid_version stable || die "nvm_is_valid_version stable did not return 0"
|
||||
nvm_is_valid_version unstable || die "nvm_is_valid_version unstable did not return 0"
|
@@ -3,14 +3,19 @@
|
||||
TEST_PWD=$(pwd)
|
||||
TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
|
||||
|
||||
cleanup() { rm -rf "$TEST_DIR"; unset -f return_zero; unalias node; }
|
||||
cleanup() { rm -rf "$TEST_DIR"; unset -f return_zero; alias node='node' ; unalias node; }
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
return_zero () { return 0; }
|
||||
|
||||
[ "$(nvm deactivate > /dev/null 2>&1 ; nvm_ls_current)" = "system" ] || die 'when deactivated, did not return "system"'
|
||||
if nvm_has_system_node || nvm_has_system_iojs; then
|
||||
EXPECTED_SYSTEM_NODE="system"
|
||||
else
|
||||
EXPECTED_SYSTEM_NODE="none"
|
||||
fi
|
||||
[ "_$(nvm deactivate > /dev/null 2>&1 ; nvm_ls_current)" = "_$EXPECTED_SYSTEM_NODE" ] || die "when deactivated, did not return $EXPECTED_SYSTEM_NODE"
|
||||
|
||||
rm -rf "$TEST_DIR"
|
||||
mkdir "$TEST_DIR"
|
||||
|
34
test/fast/Unit tests/nvm_ls_remote_iojs
Executable file
34
test/fast/Unit tests/nvm_ls_remote_iojs
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_download
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
# sample output at the time the test was written
|
||||
nvm_download() {
|
||||
echo 'version date files npm v8 uv zlib openssl modules'
|
||||
echo 'v1.0.1 2015-01-14 linux-armv7l,linux-x64,linux-x86,osx-x64-tar,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi'
|
||||
echo 'v1.0.0 2015-01-14 linux-armv7l,linux-x64,linux-x86,osx-x64-tar,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi'
|
||||
}
|
||||
|
||||
OUTPUT="$(nvm_ls_remote_iojs foo)"
|
||||
EXIT_CODE="$(nvm_ls_remote_iojs foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_ls_remote_iojs)"
|
||||
EXPECTED_OUTPUT="$(nvm_download | \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' | sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | sed -e 's/^/iojs-/')"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote_iojs did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")"
|
||||
|
||||
OUTPUT="$(nvm_ls_remote_iojs 1.0)"
|
||||
EXPECTED_OUTPUT="iojs-v1.0.0
|
||||
iojs-v1.0.1"
|
||||
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote_iojs 1.0 did not output 1.0.x versions; got $OUTPUT"
|
||||
|
||||
cleanup
|
||||
|
7
test/fast/Unit tests/nvm_node_prefix
Executable file
7
test/fast/Unit tests/nvm_node_prefix
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm_node_prefix)" = "node" ] || die '"nvm_node_prefix" did not return the string "node". why did this fail?!'
|
@@ -14,13 +14,13 @@ FIRST_EXIT_CODE="$(nvm_print_implicit_alias > /dev/null 2>&1 ; echo $?)"
|
||||
[ "_$FIRST_EXIT_CODE" = "_1" ] \
|
||||
|| die "nvm_print_implicit_alias without local|remote had wrong exit code: expected 1, got $FIRST_EXIT_CODE"
|
||||
|
||||
EXPECTED_SECOND_MSG="Only implicit aliases 'stable' and 'unstable' are supported."
|
||||
EXPECTED_SECOND_MSG="Only implicit aliases 'stable', 'unstable', 'iojs', and 'node' are supported."
|
||||
[ "_$(nvm_print_implicit_alias local 2>&1)" = "_$EXPECTED_SECOND_MSG" ] \
|
||||
|| die "nvm_print_implicit_alias did not require stable|unstable as second argument"
|
||||
|| die "nvm_print_implicit_alias did not require stable|unstable|iojs|node as second argument"
|
||||
[ "_$(nvm_print_implicit_alias local foo 2>&1)" = "_$EXPECTED_SECOND_MSG" ] \
|
||||
|| die "nvm_print_implicit_alias did not require stable|unstable as second argument"
|
||||
|| die "nvm_print_implicit_alias did not require stable|unstable|iojs|node as second argument"
|
||||
|
||||
SECOND_EXIT_CODE="$(nvm_print_implicit_alias local > /dev/null 2>&1 ; echo $?)"
|
||||
[ "_$SECOND_EXIT_CODE" = "_2" ] \
|
||||
|| die "nvm_print_implicit_alias without stable|unstable had wrong exit code: expected 2, got $SECOND_EXIT_CODE"
|
||||
|| die "nvm_print_implicit_alias without stable|unstable|iojs|node had wrong exit code: expected 2, got $SECOND_EXIT_CODE"
|
||||
|
||||
|
@@ -7,7 +7,8 @@ cleanup() {
|
||||
rm -rf ../../../v0.4.6
|
||||
rm -rf ../../../v0.5.7
|
||||
rm -rf ../../../v0.7.7
|
||||
unset -f nvm_ls_remote
|
||||
rm -rf ../../../versions/io.js/v0.98.0
|
||||
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
@@ -17,13 +18,20 @@ mkdir ../../../v0.3.4
|
||||
mkdir ../../../v0.4.6
|
||||
mkdir ../../../v0.5.7
|
||||
mkdir ../../../v0.7.7
|
||||
mkdir -p ../../../versions/io.js/v0.98.0
|
||||
|
||||
LATEST_STABLE="$(nvm_print_implicit_alias local stable)"
|
||||
[ "_$LATEST_STABLE" = "_0.4" ] || die "local stable is not latest even minor: expected 0.4, got $LATEST_STABLE"
|
||||
|
||||
LATEST_NODE="$(nvm_print_implicit_alias local node)"
|
||||
[ "_$LATEST_NODE" = "_stable" ] || die "local node is not stable: expected stable, got $LATEST_NODE"
|
||||
|
||||
LATEST_UNSTABLE="$(nvm_print_implicit_alias local unstable)"
|
||||
[ "_$LATEST_UNSTABLE" = "_0.7" ] || die "local unstable is not latest odd minor: expected 0.7, got $LATEST_UNSTABLE"
|
||||
|
||||
LATEST_IOJS="$(nvm_print_implicit_alias local iojs)"
|
||||
[ "_$LATEST_IOJS" = "_iojs-v0.98" ] || die "local iojs is not latest iojs: expected iojs-v0.98, got $LATEST_IOJS"
|
||||
|
||||
nvm_ls_remote() {
|
||||
echo "v0.4.3"
|
||||
echo "v0.5.4"
|
||||
@@ -37,11 +45,25 @@ nvm_ls_remote() {
|
||||
echo "v0.9.7"
|
||||
}
|
||||
|
||||
nvm_ls_remote_iojs() {
|
||||
echo "iojs-v0.1.0"
|
||||
echo "iojs-v0.1.1"
|
||||
echo "iojs-v0.7.8"
|
||||
echo "iojs-v0.98.5"
|
||||
echo "iojs-v0.99.0"
|
||||
}
|
||||
|
||||
LATEST_STABLE="$(nvm_print_implicit_alias remote stable)"
|
||||
[ "_$LATEST_STABLE" = "_0.6" ] || die "remote stable is not latest even minor: expected 0.6, got $LATEST_STABLE"
|
||||
|
||||
LATEST_NODE="$(nvm_print_implicit_alias remote node)"
|
||||
[ "_$LATEST_NODE" = "_stable" ] || die "remote node is not stable: expected stable, got $LATEST_NODE"
|
||||
|
||||
LATEST_UNSTABLE="$(nvm_print_implicit_alias remote unstable)"
|
||||
[ "_$LATEST_UNSTABLE" = "_0.9" ] || die "remote unstable is not latest odd minor: expected 0.9, got $LATEST_UNSTABLE"
|
||||
|
||||
LATEST_IOJS="$(nvm_print_implicit_alias remote iojs)"
|
||||
[ "_$LATEST_IOJS" = "_iojs-v0.99" ] || die "remote iojs is not latest: expected iojs-v0.99, got $LATEST_IOJS"
|
||||
|
||||
cleanup
|
||||
|
||||
|
@@ -3,7 +3,7 @@
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_ls_remote
|
||||
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
@@ -11,25 +11,68 @@ cleanup() {
|
||||
nvm_ls_remote() {
|
||||
echo "N/A"
|
||||
}
|
||||
|
||||
OUTPUT="$(nvm_remote_version foo)"
|
||||
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
||||
|
||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||
|
||||
nvm_ls_remote() {
|
||||
echo "test output"
|
||||
echo "more test output"
|
||||
echo "pattern received: _$1_"
|
||||
nvm_ls_remote_iojs() {
|
||||
echo "N/A"
|
||||
}
|
||||
OUTPUT="$(nvm_remote_version iojs-foo)"
|
||||
EXIT_CODE="$(nvm_remote_version iojs-foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||
|
||||
|
||||
nvm_ls_remote() {
|
||||
if ! nvm_is_iojs_version "$1"; then
|
||||
echo "test output"
|
||||
echo "more test output"
|
||||
echo "pattern received: _$1_"
|
||||
fi
|
||||
}
|
||||
nvm_ls_remote_iojs() {
|
||||
if [ -z "$1" ] || nvm_is_iojs_version "$1"; then
|
||||
echo "test iojs output"
|
||||
echo "more iojs test output"
|
||||
echo "iojs pattern received: _$1_"
|
||||
fi
|
||||
}
|
||||
OUTPUT="$(nvm_remote_version foo)"
|
||||
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
||||
|
||||
[ "_$OUTPUT" = "_pattern received: _foo_" ] \
|
||||
|| die "nvm_remote_version foo did not return last line only of nvm_ls_remote foo; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version foo did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
cleanup
|
||||
OUTPUT="$(nvm_remote_version iojs-foo)"
|
||||
EXIT_CODE="$(nvm_remote_version iojs-foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_iojs pattern received: _iojs-foo_" ] \
|
||||
|| die "nvm_remote_version iojs-foo did not return last line only of nvm_ls_remote_iojs foo; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version iojs-foo did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_version iojs)"
|
||||
EXIT_CODE="$(nvm_remote_version iojs >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_iojs pattern received: __" ] \
|
||||
|| die "nvm_remote_version iojs did not return last line only of nvm_ls_remote_iojs; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version iojs did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_version stable)"
|
||||
EXIT_CODE="$(nvm_remote_version stable >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote stable)" ] \
|
||||
|| die "nvm_remote_version stable did not return contents of nvm_ls_remote stable; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version stable did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_version unstable)"
|
||||
EXIT_CODE="$(nvm_remote_version unstable >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote unstable)" ] \
|
||||
|| die "nvm_remote_version unstable did not return contents of nvm_ls_remote unstable; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version unstable did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_version node)"
|
||||
EXIT_CODE="$(nvm_remote_version node >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote node)" ] \
|
||||
|| die "nvm_remote_version node did not return contents of nvm_ls_remote node; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version node did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
cleanup
|
||||
|
78
test/fast/Unit tests/nvm_remote_versions
Executable file
78
test/fast/Unit tests/nvm_remote_versions
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
OUTPUT="$(nvm_remote_versions stable 2>&1)"
|
||||
EXPECTED_OUTPUT="Implicit aliases are not supported in nvm_remote_versions."
|
||||
EXIT_CODE="$(nvm_remote_versions stable >/dev/null 2>&1; echo $?)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "implicit alias 'stable' did not error out with correct message, got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_1" ] || die "implicit alias 'stable' did not exit with code 1, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_versions unstable 2>&1)"
|
||||
EXPECTED_OUTPUT="Implicit aliases are not supported in nvm_remote_versions."
|
||||
EXIT_CODE="$(nvm_remote_versions unstable >/dev/null 2>&1; echo $?)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "implicit alias 'unstable' did not error out with correct message, got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_1" ] || die "implicit alias 'unstable' did not exit with code 1, got $EXIT_CODE"
|
||||
|
||||
nvm_ls_remote() {
|
||||
echo "N/A"
|
||||
}
|
||||
OUTPUT="$(nvm_remote_versions foo)"
|
||||
EXIT_CODE="$(nvm_remote_versions foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||
|
||||
nvm_ls_remote_iojs() {
|
||||
echo "N/A"
|
||||
}
|
||||
OUTPUT="$(nvm_remote_versions iojs-foo)"
|
||||
EXIT_CODE="$(nvm_remote_versions iojs-foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||
|
||||
|
||||
nvm_ls_remote() {
|
||||
echo "test output"
|
||||
echo "more test output"
|
||||
echo "pattern received: _$1_"
|
||||
}
|
||||
nvm_ls_remote_iojs() {
|
||||
echo "test iojs output"
|
||||
echo "more iojs test output"
|
||||
echo "iojs pattern received: _$1_"
|
||||
}
|
||||
|
||||
OUTPUT="$(nvm_remote_versions foo)"
|
||||
EXIT_CODE="$(nvm_remote_versions foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote foo)
|
||||
$(nvm_ls_remote_iojs foo)" ] \
|
||||
|| die "nvm_remote_versions foo did not return contents of nvm_ls_remote foo combined with nvm_ls_remote_iojs foo; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions foo did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_versions node)"
|
||||
EXIT_CODE="$(nvm_remote_versions node >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote)" ] \
|
||||
|| die "nvm_remote_versions node did not return contents of nvm_ls_remote; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions node did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_versions iojs-foo)"
|
||||
EXIT_CODE="$(nvm_remote_versions iojs-foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote iojs-foo)
|
||||
$(nvm_ls_remote_iojs iojs-foo)" ] \
|
||||
|| die "nvm_remote_versions iojs-foo did not return contents of nvm_ls_remote iojs-foo combined with nvm_ls_remote_iojs iojs-foo; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions iojs-foo did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_remote_versions iojs)"
|
||||
EXIT_CODE="$(nvm_remote_versions iojs >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$(nvm_ls_remote_iojs)" ] \
|
||||
|| die "nvm_remote_versions iojs did not return contents of nvm_ls_remote_iojs; got $OUTPUT"
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions iojs did not exit with 0, got $EXIT_CODE"
|
||||
|
||||
cleanup
|
||||
|
10
test/fast/Unit tests/nvm_strip_iojs_prefix
Executable file
10
test/fast/Unit tests/nvm_strip_iojs_prefix
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_strip_iojs_prefix iojs)" = "_" ] || die '"nvm_strip_iojs_prefix iojs" did not return an empty string'
|
||||
[ "_$(nvm_strip_iojs_prefix iojs-)" = "_" ] || die '"nvm_strip_iojs_prefix iojs-" did not return an empty string'
|
||||
[ "_$(nvm_strip_iojs_prefix iojs-foo)" = "_foo" ] || die '"nvm_strip_iojs_prefix iojs-foo" did not return "foo"'
|
||||
[ "_$(nvm_strip_iojs_prefix iojsfoo)" = "_iojsfoo" ] || die '"nvm_strip_iojs_prefix iojsfoo" did not return "iojsfoo"'
|
@@ -4,7 +4,7 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
TEST_PATH=$NVM_DIR/v0.10.5/bin:/usr/bin:$NVM_DIR/v0.11.5/bin:$NVM_DIR/v0.9.5/bin:/usr/local/bin:$NVM_DIR/v0.2.5/bin
|
||||
TEST_PATH=$NVM_DIR/v0.10.5/bin:/usr/bin:$NVM_DIR/v0.11.5/bin:$NVM_DIR/v0.9.5/bin:/usr/local/bin:$NVM_DIR/v0.2.5/bin:$NVM_DIR/versions/node/v0.12.0/bin:$NVM_DIR/versions/io.js/v1.0.0/bin
|
||||
|
||||
STRIPPED_PATH=`nvm_strip_path "$TEST_PATH" "/bin"`
|
||||
|
||||
|
@@ -4,16 +4,18 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
EXPECTED_MSG="Only implicit aliases 'stable' and 'unstable' are supported."
|
||||
EXPECTED_MSG="Only implicit aliases 'stable', 'unstable', 'iojs', and 'node' are supported."
|
||||
[ "_$(nvm_validate_implicit_alias 2>&1)" = "_$EXPECTED_MSG" ] \
|
||||
|| die "nvm_validate_implicit_alias did not require stable|unstable"
|
||||
|| die "nvm_validate_implicit_alias did not require stable|unstable|iojs|node"
|
||||
[ "_$(nvm_validate_implicit_alias foo 2>&1)" = "_$EXPECTED_MSG" ] \
|
||||
|| die "nvm_validate_implicit_alias did not require stable|unstable"
|
||||
|| die "nvm_validate_implicit_alias did not require stable|unstable|iojs|node"
|
||||
|
||||
EXIT_CODE="$(nvm_validate_implicit_alias >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$EXIT_CODE" = "_1" ] \
|
||||
|| die "nvm_validate_implicit_alias without stable|unstable had wrong exit code: expected 1, got $EXIT_CODE"
|
||||
|| die "nvm_validate_implicit_alias without stable|unstable|iojs|node had wrong exit code: expected 1, got $EXIT_CODE"
|
||||
|
||||
nvm_validate_implicit_alias stable || die "nvm_validate_implicit_alias stable did not exit 0"
|
||||
nvm_validate_implicit_alias unstable || die "nvm_validate_implicit_alias unstable did not exit 0"
|
||||
nvm_validate_implicit_alias node || die "nvm_validate_implicit_alias node did not exit 0"
|
||||
nvm_validate_implicit_alias iojs || die "nvm_validate_implicit_alias iojs did not exit 0"
|
||||
|
||||
|
48
test/fast/Unit tests/nvm_version
Executable file
48
test/fast/Unit tests/nvm_version
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
unset -f nvm_ls_current nvm_ls
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm_ls_current() {
|
||||
echo "CURRENT!"
|
||||
return 7
|
||||
}
|
||||
|
||||
OUTPUT="$(nvm_version current)"
|
||||
EXPECTED_OUTPUT="CURRENT!"
|
||||
EXIT_CODE="$(nvm_version current 2>&1 >/dev/null ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version current" did not return nvm_ls_current output'
|
||||
[ "_$EXIT_CODE" = "_7" ] || die '"nvm_version current" did not return nvm_ls_current exit code'
|
||||
|
||||
OUTPUT="$(nvm_version)"
|
||||
EXPECTED_OUTPUT="CURRENT!"
|
||||
EXIT_CODE="$(nvm_version 2>&1 >/dev/null ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return nvm_ls_current output'
|
||||
[ "_$EXIT_CODE" = "_7" ] || die '"nvm_version" did not return nvm_ls_current exit code'
|
||||
|
||||
nvm_ls() {
|
||||
echo "line 1"
|
||||
echo "line 2"
|
||||
echo "pattern: $1"
|
||||
}
|
||||
[ "_$(nvm_version foo)" = "_pattern: foo" ] || die '"nvm_version foo" did not pass the pattern to "nvm_ls", or return the last line'
|
||||
[ "_$(nvm_version node)" = "_pattern: stable" ] || die '"nvm_version node" did not pass "stable" to "nvm_ls"'
|
||||
[ "_$(nvm_version node-)" = "_pattern: stable" ] || die '"nvm_version node-" did not pass "stable" to "nvm_ls"'
|
||||
|
||||
nvm_ls() { echo "N/A"; }
|
||||
OUTPUT="$(nvm_version foo)"
|
||||
EXPECTED_OUTPUT="N/A"
|
||||
EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns N/A'
|
||||
[ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
|
||||
|
||||
nvm_ls() { echo; }
|
||||
OUTPUT="$(nvm_version foo)"
|
||||
EXPECTED_OUTPUT="N/A"
|
||||
EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns nothing'
|
||||
[ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
|
@@ -4,7 +4,8 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm_version_dir)" = "$NVM_DIR/versions" ] || die '"nvm_version_dir" did not return new dir path'
|
||||
[ "$(nvm_version_dir)" = "$NVM_DIR/versions/node" ] || die '"nvm_version_dir" did not return new dir path'
|
||||
[ "$(nvm_version_dir iojs)" = "$NVM_DIR/versions/io.js" ] || die '"nvm_version_dir iojs" did not return iojs dir path'
|
||||
[ "$(nvm_version_dir new)" = "$(nvm_version_dir)" ] || die '"nvm_version_dir new" did not return new dir path'
|
||||
[ "$(nvm_version_dir old)" = "$NVM_DIR" ] || die '"nvm_version_dir old" did not return old dir path'
|
||||
[ "$(nvm_version_dir foo 2>&1)" = "unknown version dir" ] || die '"nvm_version_dir foo" did not error out'
|
||||
|
@@ -7,5 +7,6 @@ die () { echo $@ ; exit 1; }
|
||||
[ "$(nvm_version_path foo)" = "$NVM_DIR/foo" ] || die '"nvm_version_path foo" did not return correct location'
|
||||
[ "$(nvm_version_path 2>&1)" = "version is required" ] || die '"nvm_version_path" did not error out'
|
||||
[ "$(nvm_version_path v0.11.0)" = "$NVM_DIR/v0.11.0" ] || die 'old version has the wrong path'
|
||||
[ "$(nvm_version_path v0.12.0)" = "$NVM_DIR/versions/v0.12.0" ] || die 'new version has the wrong path'
|
||||
[ "$(nvm_version_path v0.12.0)" = "$NVM_DIR/versions/node/v0.12.0" ] || die 'new version has the wrong path'
|
||||
[ "$(nvm_version_path iojs-v0.12.0)" = "$NVM_DIR/versions/io.js/v0.12.0" ] || die 'iojs version has the wrong path'
|
||||
|
||||
|
54
test/install_script/nvm_check_global_modules
Executable file
54
test/install_script/nvm_check_global_modules
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/bin/sh
|
||||
|
||||
cleanup () {
|
||||
rm -rf "$npm_config_prefix/lib" >/dev/null 2>&1
|
||||
unset npm_config_prefix
|
||||
|
||||
rm -f npm
|
||||
PATH="$ORIGINAL_PATH"
|
||||
|
||||
unset -f setup cleanup die
|
||||
unset message ORIGINAL_PATH
|
||||
}
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
NVM_ENV=testing . ../../install.sh
|
||||
|
||||
setup () {
|
||||
ORIGINAL_PATH="$PATH"
|
||||
|
||||
npm_config_prefix="$(pwd)"
|
||||
export npm_config_prefix
|
||||
mkdir -p "$npm_config_prefix/lib"
|
||||
}
|
||||
|
||||
|
||||
setup
|
||||
|
||||
npm install -g nop >/dev/null || die 'nvm_check_global_modules cannot be tested because `npm` cannot install the `nop` package'
|
||||
message=$(nvm_check_global_modules)
|
||||
[ ! -z "$message" ] || die "nvm_check_global_modules should have printed a notice when npm had global modules installed"
|
||||
|
||||
npm uninstall -g nop >/dev/null
|
||||
message=$(nvm_check_global_modules)
|
||||
[ -z "$message" ] || die "nvm_check_global_modules should not have printed a notice when npm had no global modules installed"
|
||||
|
||||
# Faking an installation of npm
|
||||
mkdir -p "$npm_config_prefix/lib/node_modules/npm"
|
||||
cat <<'JSON' >"$npm_config_prefix/lib/node_modules/npm/package.json"
|
||||
{ "name": "npm", "version": "0.0.1fake" }
|
||||
JSON
|
||||
|
||||
message=$(nvm_check_global_modules)
|
||||
[ -z "$message" ] || die "nvm_check_global_modules should have not printed a notice when npm had only itself installed as a global module"
|
||||
|
||||
# Faking the absence of npm
|
||||
PATH=".:$PATH"
|
||||
touch npm
|
||||
chmod +x npm
|
||||
|
||||
message=$(nvm_check_global_modules)
|
||||
[ -z "$message" ] || die "nvm_check_global_modules should have not printed a notice when npm was unavailable"
|
||||
|
||||
|
||||
cleanup
|
26
test/installation/io.js/install already installed uses it
Executable file
26
test/installation/io.js/install already installed uses it
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../versions/io.js/v1.0.0 ] && rm -R ../../../versions/io.js/v1.0.0
|
||||
[ -e ../../../versions/io.js/v1.0.1 ] && rm -R ../../../versions/io.js/v1.0.1
|
||||
|
||||
# Install from binary
|
||||
nvm install iojs-v1.0.0
|
||||
nvm install iojs-v1.0.1
|
||||
|
||||
nvm use iojs-v1.0.0
|
||||
|
||||
node --version | grep v1.0.0 || die "precondition failed: iojs node doesn't start at v1.0.0"
|
||||
iojs --version | grep v1.0.0 || die "precondition failed: iojs binary doesn't start at v1.0.0"
|
||||
|
||||
nvm install iojs-v1.0.1
|
||||
|
||||
node --version | grep v1.0.1 || die "nvm install on already installed version doesn't use it (node binary)"
|
||||
iojs --version | grep v1.0.1 || die "nvm install on already installed version doesn't use it (iojs binary)"
|
||||
|
19
test/installation/io.js/install from binary
Executable file
19
test/installation/io.js/install from binary
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION="v1.0.0"
|
||||
NVM_PREFIXED_TEST_VERSION="iojs-$NVM_TEST_VERSION"
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
nvm install $NVM_PREFIXED_TEST_VERSION || die "install $NVM_PREFIXED_TEST_VERSION failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../../versions/io.js/$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
26
test/installation/io.js/install two versions and use the latest one
Executable file
26
test/installation/io.js/install two versions and use the latest one
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../versions/io.js/v1.0.0 ] && rm -R ../../../versions/io.js/v1.0.0
|
||||
[ -e ../../../versions/io.js/v1.0.1 ] && rm -R ../../../versions/io.js/v1.0.1
|
||||
|
||||
# Install from binary
|
||||
nvm install iojs-v1.0.0 || die "'nvm install iojs-v1.0.0' failed"
|
||||
nvm i iojs-v1.0.1 || die "'nvm i iojs-v1.0.1' failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../../versions/io.js/v1.0.0 ] || die "iojs v1.0.0 didn't exist"
|
||||
[ -d ../../../versions/io.js/v1.0.1 ] || die "iojs v1.0.1 didn't exist"
|
||||
|
||||
# Use the first one
|
||||
nvm use iojs-1.0.0 || die "'nvm use iojs-1.0.0' failed"
|
||||
|
||||
# Use the latest one
|
||||
nvm use iojs-1 || die "'nvm use iojs-1' failed"
|
||||
[ "_$(node --version)" = "_v1.0.1" ] || die "'node --version' was not v1.0.1, got: $(node --version)"
|
||||
[ "_$(iojs --version)" = "_v1.0.1" ] || die "'iojs --version' was not v1.0.1, got: $(iojs --version)"
|
||||
|
24
test/installation/io.js/install version specified in .nvmrc from binary
Executable file
24
test/installation/io.js/install version specified in .nvmrc from binary
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v1.0.0
|
||||
NVM_PREFIXED_TEST_VERSION="iojs-$NVM_TEST_VERSION"
|
||||
VERSION_PATH="../../../versions/io.js/$NVM_TEST_VERSION"
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e $VERSION_PATH ] && rm -R $VERSION_PATH
|
||||
|
||||
# Install from binary
|
||||
echo "$NVM_PREFIXED_TEST_VERSION" > .nvmrc
|
||||
|
||||
nvm install || die "'nvm install' failed"
|
||||
|
||||
# Check
|
||||
[ -d $VERSION_PATH ] || die "./$VERSION_PATH did not exist"
|
||||
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
||||
|| "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
||||
|
32
test/installation/io.js/install while reinstalling packages
Executable file
32
test/installation/io.js/install while reinstalling packages
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../versions/io.js/v1.0.0 ] && rm -R ../../../versions/io.js/v1.0.0
|
||||
[ -e ../../../versions/io.js/v1.0.1 ] && rm -R ../../../versions/io.js/v1.0.1
|
||||
|
||||
# Install from binary
|
||||
nvm install iojs-v1.0.0
|
||||
|
||||
# Check
|
||||
[ -d ../../../versions/io.js/v1.0.0 ] || die "nvm install iojs-v1.0.0 didn't install"
|
||||
|
||||
node --version | grep v1.0.0 > /dev/null || die "nvm install didn't use iojs-v1.0.0"
|
||||
|
||||
npm install -g is-nan@1.0.1 || die "npm install -g is-nan failed"
|
||||
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||
|
||||
nvm ls iojs-1 | grep iojs-v1.0.0 > /dev/null || die "nvm ls iojs-1 didn't show iojs-v1.0.0"
|
||||
|
||||
nvm install iojs-v1.0.1 --reinstall-packages-from=iojs-1.0.0 || die "nvm install iojs-v1.0.1 --reinstall-packages-from=iojs-1.0.0 failed"
|
||||
|
||||
[ -d ../../../versions/io.js/v1.0.1 ] || die "nvm install iojs-v1.0.1 didn't install"
|
||||
|
||||
nvm use iojs-1
|
||||
node --version | grep v1.0.1 > /dev/null || die "nvm use iojs-1 didn't use v1.0.1"
|
||||
|
||||
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||
|
20
test/installation/io.js/nvm install v1 works
Executable file
20
test/installation/io.js/nvm install v1 works
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_VERSION="v1"
|
||||
NVM_PREFIXED_TEST_VERSION="$(nvm ls-remote "$NVM_VERSION" | tail -n1 | sed 's/^[ ]*//;s/[ ]*$//')"
|
||||
NVM_TEST_VERSION="$(nvm_strip_iojs_prefix "$NVM_PREFIXED_TEST_VERSION")"
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
nvm install "$NVM_VERSION" || die "nvm install $NVM_VERSION failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../../versions/io.js/$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
14
test/installation/io.js/teardown_dir
Executable file
14
test/installation/io.js/teardown_dir
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
nvm deactivate
|
||||
nvm uninstall iojs-v1.0.0
|
||||
|
||||
if [ -f ".nvmrc" ]; then
|
||||
rm .nvmrc
|
||||
fi
|
||||
|
||||
if [ -f ".nvmrc.bak" ]; then
|
||||
mv .nvmrc.bak .nvmrc
|
||||
fi
|
||||
|
@@ -2,13 +2,13 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.9.7
|
@@ -2,17 +2,17 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
nvm install $NVM_TEST_VERSION || die "install $NVM_TEST_VERSION failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../$NVM_TEST_VERSION ]
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
@@ -2,17 +2,17 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from source
|
||||
nvm install -s $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../$NVM_TEST_VERSION ]
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
18
test/installation/node/install from source implicitly
Executable file
18
test/installation/node/install from source implicitly
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.8.5
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from source implicitly (v0.8.6 is when binaries started)
|
||||
nvm install $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
@@ -2,19 +2,19 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.9.7 || die "'nvm install 0.9.7' failed"
|
||||
nvm i 0.9.12 || die "'nvm i 0.9.12' failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../v0.9.7 ] || die "v0.9.7 didn't exist"
|
||||
[ -d ../../v0.9.12 ] || die "v0.9.12 didn't exist"
|
||||
[ -d ../../../v0.9.7 ] || die "v0.9.7 didn't exist"
|
||||
[ -d ../../../v0.9.12 ] || die "v0.9.12 didn't exist"
|
||||
|
||||
# Use the first one
|
||||
nvm use 0.9.7 || die "'nvm use 0.9.7' failed"
|
@@ -2,12 +2,12 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||
@@ -15,7 +15,7 @@ echo "$NVM_TEST_VERSION" > .nvmrc
|
||||
nvm install || die "'nvm install' failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../$NVM_TEST_VERSION ] || die "./$NVM_TEST_VERSION did not exist"
|
||||
[ -d ../../../$NVM_TEST_VERSION ] || die "./$NVM_TEST_VERSION did not exist"
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
||||
|| "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
@@ -2,12 +2,12 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||
@@ -15,7 +15,7 @@ echo "$NVM_TEST_VERSION" > .nvmrc
|
||||
nvm install -s || "'nvm install -s' failed"
|
||||
|
||||
# Check
|
||||
[ -d ../../$NVM_TEST_VERSION ] || die "$NVM_TEST_VERSION did not exist"
|
||||
[ -d ../../../$NVM_TEST_VERSION ] || die "$NVM_TEST_VERSION did not exist"
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
||||
|| die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||
|
@@ -2,17 +2,17 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.9.7
|
||||
|
||||
# Check
|
||||
[ -d ../../v0.9.7 ] || die "nvm install 0.9.7 didn't install"
|
||||
[ -d ../../../v0.9.7 ] || die "nvm install 0.9.7 didn't install"
|
||||
|
||||
nvm use 0.9.7
|
||||
|
||||
@@ -25,7 +25,7 @@ nvm ls 0.9 | grep v0.9.7 > /dev/null || die "nvm ls 0.9 didn't show v0.9.7"
|
||||
|
||||
nvm install 0.9.12 --reinstall-packages-from=0.9 || die "nvm install 0.9.12 --reinstall-packages-from=0.9 failed"
|
||||
|
||||
[ -d ../../v0.9.12 ] || die "nvm install 0.9.12 didn't install"
|
||||
[ -d ../../../v0.9.12 ] || die "nvm install 0.9.12 didn't install"
|
||||
|
||||
nvm use 0.9
|
||||
node --version | grep v0.9.12 > /dev/null || die "nvm ls 0.9 didn't use v0.9.12"
|
6
test/installation/node/setup_dir
Executable file
6
test/installation/node/setup_dir
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -f ".nvmrc" ]; then
|
||||
mv .nvmrc .nvmrc.bak
|
||||
fi
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../nvm.sh
|
||||
. ../../../nvm.sh
|
||||
nvm deactivate
|
||||
nvm uninstall v0.10.7
|
||||
|
@@ -7,8 +7,3 @@ die () { echo $@ ; exit 1; }
|
||||
nvm install 0.10
|
||||
|
||||
[ "$(nvm current)" = "$(node -v)" ] || die "Failed to find current version: got \"$(nvm current)\", expected \"$(node -v)\""
|
||||
|
||||
nvm install 0.6.21
|
||||
[ "$(node -v)" = "v0.6.21-pre" ] || die "v0.6.21-pre not installed with v0.6.21"
|
||||
[ "$(nvm current)" = "v0.6.21" ] || die "v0.6.21-pre not reported as v0.6.21"
|
||||
|
||||
|
10
test/slow/node 0.6.21 should install 0.6.21-pre
Executable file
10
test/slow/node 0.6.21 should install 0.6.21-pre
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
|
||||
nvm install 0.6.21 || die 'v0.6.21 installation failed'
|
||||
[ "_$(node -v)" = "_v0.6.21-pre" ] || die "v0.6.21-pre not installed with v0.6.21, got $(node -v)"
|
||||
[ "_$(nvm current)" = "_v0.6.21" ] || die "v0.6.21-pre not reported as v0.6.21, got $(nvm current)"
|
||||
|
@@ -5,17 +5,23 @@ die () { echo "$@" ; exit 1; }
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm use 0.10.28
|
||||
(cd test-npmlink && npm link)
|
||||
|
||||
EXPECTED_PACKAGES="autoprefixer bower david eslint grunt-cli grunth-cli http-server jshint marked node-gyp recursive-blame uglify-js yo"
|
||||
EXPECTED_PACKAGES="autoprefixer bower david eslint grunt-cli grunth-cli http-server jshint marked node-gyp npmlist recursive-blame test-npmlink uglify-js yo"
|
||||
|
||||
echo "$EXPECTED_PACKAGES" | xargs npm install -g --quiet
|
||||
|
||||
get_packages() {
|
||||
npm list -g --depth=0 | \sed -e '1 d' -e 's/^.* \(.*\)@.*/\1/' -e '/^npm$/ d' | xargs
|
||||
}
|
||||
|
||||
nvm use 0.10.29
|
||||
ORIGINAL_PACKAGES=$(npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | sort | uniq | xargs)
|
||||
ORIGINAL_PACKAGES=$(get_packages)
|
||||
|
||||
nvm reinstall-packages 0.10.28
|
||||
FINAL_PACKAGES=$(npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | sort | uniq | xargs)
|
||||
FINAL_PACKAGES=$(get_packages)
|
||||
|
||||
[ "$FINAL_PACKAGES" = "$EXPECTED_PACKAGES" ] || die "final packages ($FINAL_PACKAGES) did not match expected packages ($EXPECTED_PACKAGES)"
|
||||
[ "$ORIGINAL_PACKAGES" != "$FINAL_PACKAGES" ] || die "original packages matched final packages ($ORIGINAL_PACKAGES)"
|
||||
|
||||
[ $(test-npmlink) = 'ok' ] || die "failed to run test-npmlink"
|
||||
|
2
test/slow/nvm reinstall-packages/test-npmlink/index.js
Executable file
2
test/slow/nvm reinstall-packages/test-npmlink/index.js
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env node
|
||||
console.log('ok')
|
10
test/slow/nvm reinstall-packages/test-npmlink/package.json
Normal file
10
test/slow/nvm reinstall-packages/test-npmlink/package.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "test-npmlink",
|
||||
"version": "0.0.1",
|
||||
"description": "Stub package for testing npm link",
|
||||
"bin": {
|
||||
"test-npmlink": "index.js"
|
||||
},
|
||||
"author": "hax",
|
||||
"license": "ISC"
|
||||
}
|
9
test/slow/nvm run/Running "nvm run --harmony --version" should work
Executable file
9
test/slow/nvm run/Running "nvm run --harmony --version" should work
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm run 0.10.7 --harmony --version
|
||||
[ "_$(nvm run 0.10.7 --harmony --version 2>/dev/null | tail -1)" = "_v0.10.7" ] || die "\`nvm run --harmony --version\` failed to run with the correct version"
|
||||
|
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm run 0.2 --version 2>&1)" = "v0.2 is not installed yet" ] || die "\`nvm run\` with an uninstalled node version failed to error out correctly"
|
||||
[ "$(nvm run iojs-0.2 --version 2>&1)" = "iojs-v0.2 is not installed yet" ] || die "\`nvm run\` with an uninstalled iojs version failed to error out correctly"
|
@@ -5,5 +5,5 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm run 0.10.7 --version | tail -1)" = "v0.10.7" ] || die "`nvm run` failed to run with the correct version"
|
||||
[ "$(nvm run 0.10.7 --version | tail -1)" = "v0.10.7" ] || die "\`nvm run\` failed to run with the correct version"
|
||||
|
||||
|
14
test/slow/nvm use/Running "nvm use iojs" uses latest io.js version
Executable file
14
test/slow/nvm use/Running "nvm use iojs" uses latest io.js version
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
|
||||
|
||||
nvm use iojs || die 'nvm use iojs failed'
|
||||
OUTPUT="$(nvm current)"
|
||||
EXPECTED_OUTPUT="iojs-v1.0.1"
|
||||
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||
|| die "'nvm use iojs' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
14
test/slow/nvm use/Running "nvm use node" uses latest stable node version
Executable file
14
test/slow/nvm use/Running "nvm use node" uses latest stable node version
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
|
||||
|
||||
nvm use node || die 'nvm use node failed'
|
||||
OUTPUT="$(nvm current)"
|
||||
EXPECTED_OUTPUT="$(nvm_version stable)"
|
||||
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||
|| die "'nvm use node' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
14
test/slow/nvm use/Running "nvm use v1.0.0" uses iojs-v1.0.0 iojs version
Executable file
14
test/slow/nvm use/Running "nvm use v1.0.0" uses iojs-v1.0.0 iojs version
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
|
||||
|
||||
nvm use 'v1.0.0' || die 'nvm use v1.0.0 failed'
|
||||
OUTPUT="$(nvm current)"
|
||||
EXPECTED_OUTPUT="$(nvm_version v1.0.0)"
|
||||
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||
|| die "'nvm use v1.0.0' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
16
test/slow/nvm use/setup_dir
Executable file
16
test/slow/nvm use/setup_dir
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
mkdir -p ../../../.nvm_use_bak
|
||||
if [ -d "../../../v*" ]; then
|
||||
mv "../../../v*" ../../../.nvm_use_bak/
|
||||
fi
|
||||
|
||||
for VERSION in "0.8.7" "0.9.1" "0.10.1" "0.11.1"; do
|
||||
nvm install "v$VERSION"
|
||||
done
|
||||
|
||||
for VERSION in "1.0.0" "1.0.1"; do
|
||||
nvm install "iojs-v$VERSION"
|
||||
done
|
16
test/slow/nvm use/teardown_dir
Executable file
16
test/slow/nvm use/teardown_dir
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
for VERSION in "0.8.7" "0.9.1" "0.10.1" "0.11.1"; do
|
||||
nvm uninstall "$VERSION"
|
||||
done
|
||||
|
||||
for VERSION in "1.0.0" "1.0.1"; do
|
||||
nvm uninstall "iojs-v$VERSION"
|
||||
done
|
||||
|
||||
if [ -d ../../../.nvm_use_bak/* ]; then
|
||||
mv ../../../.nvm_use_bak/* ../../../
|
||||
fi
|
||||
rmdir ../../../.nvm_use_bak
|
Reference in New Issue
Block a user