make e2e parallel

This commit is contained in:
Girish Ramakrishnan 2015-11-13 19:59:43 -08:00
parent b6e76209af
commit 0fcd2c6daa
4 changed files with 46 additions and 2 deletions

View File

@ -80,7 +80,7 @@ function getLatestBoxVersion(callback) {
function runTests(latestVersionInfo, callback) {
debug('Running tests for %j', latestVersionInfo);
gNpmTest = shell.system('e2etestrunner', 'npm test', function (error, stdout, stderr) {
gNpmTest = shell.system('e2etestrunner', 'npm run-script parallel_test', function (error, stdout, stderr) {
gNpmTest = null;
debug('Final test result', error);

0
logs/.gitignore vendored Normal file
View File

View File

@ -4,7 +4,8 @@
"description": "End to end testing",
"main": "test.js",
"scripts": {
"test": "DEBUG=superagent-sync,e2e:* DEBUG_COLORS=true ./node_modules/.bin/mocha --bail test/*"
"test": "DEBUG=superagent-sync,e2e:* DEBUG_COLORS=true ./node_modules/.bin/mocha --bail test/*",
"parallel_test": "./parallel_test.sh"
},
"repository": {
"type": "git",

43
parallel_test.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
set -eu
export DEBUG=superagent-sync,e2e:*
export DEBUG_COLORS=true
readonly tests=(app-flow-test cloudron-update-test cloudron-user-test new-user-test)
# cleanup
rm -f logs/*
echo "Cleaning up"
./node_modules/.bin/mocha test/000-cleanup.js > "logs/000-cleanup.log" 2>&1
# run tests
for t in "${tests[@]}"; do
echo "Starting test ${t}"
./node_modules/.bin/mocha "test/${t}.js" > "logs/${t}.log" 2>&1 &
done
# wait for tests to finish
fail=0
echo "Waiting for jobs to finish"
for job in `jobs -p`; do
wait $job || let "fail+=1"
done
echo
echo
for t in "${tests[@]}"; do
echo "=========== ${t} =============="
cat "test/${t}.log"
echo
echo
done
if [ "$fail" == "0" ]; then
exit 0
else
echo "Fail count: ${fail}"
exit 1
fi