tests from readme
fast tests alias unalias more alias tests tests document testing warn not to run while testing chmod +x deactivate specify the version (commit) of urchin installation test run tests for ls switch unsetopt to the thing creationix has rename tests urchin log adjust urchin versionmaster
parent
903479aeca
commit
a27d39139b
|
@ -2,3 +2,7 @@ HEAD
|
||||||
src
|
src
|
||||||
v*
|
v*
|
||||||
alias
|
alias
|
||||||
|
|
||||||
|
# For testing
|
||||||
|
bak
|
||||||
|
.urchin.log
|
||||||
|
|
|
@ -57,6 +57,30 @@ The above copyright notice and this permission notice shall be included in all c
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
## Running tests
|
||||||
|
Tests are written in [Urchin](http://www.urchin.sh). Install Urchin like so.
|
||||||
|
|
||||||
|
wget -O /usr/local/bin https://raw.github.com/scraperwiki/urchin/0c6837cfbdd0963903bf0463b05160c2aecc22ef/urchin
|
||||||
|
chmod +x /usr/local/bin/urchin
|
||||||
|
|
||||||
|
(Or put it some other place in your PATH.)
|
||||||
|
|
||||||
|
There are slow tests and fast tests. The slow tests do things like install node
|
||||||
|
and check that the right versions are used. The fast tests fake this to test
|
||||||
|
things like aliases and uninstalling. From the root of the nvm git repository,
|
||||||
|
run the fast tests like this.
|
||||||
|
|
||||||
|
urchin test/fast
|
||||||
|
|
||||||
|
Run the slow tests like this.
|
||||||
|
|
||||||
|
urchin test/slow
|
||||||
|
|
||||||
|
Run all of the tests like this
|
||||||
|
|
||||||
|
urchin test
|
||||||
|
|
||||||
|
Nota bene: Avoid running nvm while the tests are running.
|
||||||
|
|
||||||
## Bash completion
|
## Bash completion
|
||||||
|
|
||||||
|
|
2
nvm.sh
2
nvm.sh
|
@ -12,7 +12,7 @@ fi
|
||||||
|
|
||||||
# Make zsh glob matching behave same as bash
|
# Make zsh glob matching behave same as bash
|
||||||
# This fixes the "zsh: no matches found" errors
|
# This fixes the "zsh: no matches found" errors
|
||||||
if [[ `which unsetopt 2>/dev/null` ]]; then
|
if [ ! -z "$(which unsetopt 2>/dev/null)" ]; then
|
||||||
unsetopt nomatch 2>/dev/null
|
unsetopt nomatch 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
[ $(nvm alias test1 | wc -l) = '2' ]
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
[ $(nvm alias | wc -l) = '10' ]
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for i in $(seq 1 10)
|
||||||
|
do
|
||||||
|
echo v0.0.$i > ../../../alias/test$i
|
||||||
|
done
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
mkdir ../../../v0.1.3
|
||||||
|
mkdir ../../../v0.2.3
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
# The result should contain only the appropriate version numbers.
|
||||||
|
nvm ls 0.2 | grep v0.2.3 &&
|
||||||
|
nvm ls 0.1 | grep -v v0.2.3
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
mkdir ../../../v0.0.{1,3,9}
|
||||||
|
mkdir ../../../v0.3.{1,3,9}
|
||||||
|
|
||||||
|
# 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
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
nvm alias test v0.1.2
|
||||||
|
[ $(cat ../../alias/test) = 'v0.1.2' ]
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
nvm &&
|
||||||
|
nvm deactivate &&
|
||||||
|
! nvm
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo v0.1.2 > ../../alias/test
|
||||||
|
. ../../nvm.sh
|
||||||
|
nvm unalias test
|
||||||
|
! [ -e ../../alias/test ]
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
mkdir v0.0.1
|
||||||
|
mkdir src/node-v0.0.1
|
||||||
|
|
||||||
|
. ./nvm.sh
|
||||||
|
nvm uninstall v0.0.1
|
||||||
|
|
||||||
|
[ ! -d 'v0.0.1' ] && [ ! -d 'src/node-v0.0.1' ]
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
nvm
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
(
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
# Back up
|
||||||
|
rm -Rf v* src alias
|
||||||
|
mkdir src alias
|
||||||
|
)
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
(
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
# Back up
|
||||||
|
mkdir -p bak
|
||||||
|
mv v* src alias bak || sleep 0s
|
||||||
|
)
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Remove temporary files
|
||||||
|
(
|
||||||
|
cd ../..
|
||||||
|
rm -fR v* src alias
|
||||||
|
)
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
(
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
# Restore
|
||||||
|
if [ -d bak ]
|
||||||
|
then
|
||||||
|
mv bak/* . || sleep 0s
|
||||||
|
rmdir bak
|
||||||
|
fi
|
||||||
|
mkdir -p src alias
|
||||||
|
)
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
. ../../nvm.sh
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../v0.6.14 ] && rm -R ../../v0.6.14
|
||||||
|
|
||||||
|
# Install
|
||||||
|
nvm install 0.6.14
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../v0.6.14 ]
|
||||||
|
nvm run v0.6.14 --version | grep v0.6.14
|
Loading…
Reference in New Issue