Skip to content

Commit

Permalink
tools: refactor make test-npm into test-npm.sh
Browse files Browse the repository at this point in the history
Extracts test-npm from Makefile and puts it in tools/test-npm.sh
Also improves test-npm to use a separate copy of deps/npm for testing.

PR-URL: nodejs#1662
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
  • Loading branch information
Fishrock123 committed May 19, 2015
1 parent 69bc061 commit 3416e93
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 13 deletions.
14 changes: 1 addition & 13 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -138,19 +138,7 @@ test-debugger: all
$(PYTHON) tools/test.py debugger

test-npm: $(NODE_EXE)
rm -rf npm-cache npm-tmp npm-prefix
mkdir npm-cache npm-tmp npm-prefix
cd deps/npm ; npm_config_cache="$(shell pwd)/npm-cache" \
npm_config_prefix="$(shell pwd)/npm-prefix" \
npm_config_tmp="$(shell pwd)/npm-tmp" \
../../$(NODE_EXE) cli.js install --ignore-scripts
cd deps/npm ; npm_config_cache="$(shell pwd)/npm-cache" \
npm_config_prefix="$(shell pwd)/npm-prefix" \
npm_config_tmp="$(shell pwd)/npm-tmp" \
../../$(NODE_EXE) cli.js run-script test-all && \
../../$(NODE_EXE) cli.js prune --prod && \
cd ../.. && \
rm -rf npm-cache npm-tmp npm-prefix
NODE_EXE=$(NODE_EXE) tools/test-npm.sh

test-npm-publish: $(NODE_EXE)
npm_package_config_publishtest=true ./$(NODE_EXE) deps/npm/test/run.js
Expand Down
37 changes: 37 additions & 0 deletions tools/test-npm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash

set -e

# always change the working directory to the project's root directory
cd $(dirname $0)/..

# pass NODE_EXE from something like Makefile
# it should point to either {./}node or {./}node.exe, depending on the platform
if [ -z $NODE_EXE ]; then
echo "No node executable provided. Bailing." >&2
exit 0
fi

rm -rf test-npm
mkdir test-npm

# make a copy of deps/npm to run the tests on
cp -r deps/npm/ test-npm/

cd test-npm

# do a rm first just in case deps/npm contained these
rm -rf npm-cache npm-tmp npm-prefix
mkdir npm-cache npm-tmp npm-prefix

# set some npm env varibles to point to our new temporary folders
export npm_config_cache="npm-cache"
export npm_config_prefix="npm-prefix"
export npm_config_tmp="npm-tmp"

# install npm devDependencies and run npm's tests
../$NODE_EXE cli.js install --ignore-scripts
../$NODE_EXE cli.js run-script test-all

# clean up everything one single shot
cd .. && rm -rf test-npm

0 comments on commit 3416e93

Please sign in to comment.