diff --git a/services/web/Jenkinsfile b/services/web/Jenkinsfile index c8cdb52c26..6c03319dea 100644 --- a/services/web/Jenkinsfile +++ b/services/web/Jenkinsfile @@ -124,7 +124,7 @@ pipeline { stage('Acceptance Tests') { steps { sh 'docker pull sharelatex/acceptance-test-runner' - sh 'docker run --rm -v $(pwd):/app --env SHARELATEX_ALLOW_PUBLIC_ACCESS=true sharelatex/acceptance-test-runner || (cat forever/app.log && false)' + sh 'docker run --rm -v $(pwd):/app --env SHARELATEX_ALLOW_PUBLIC_ACCESS=true fauldsh/sl-acceptance-test-runner:node-6.9 || (cat forever/app.log && false)' } } diff --git a/services/web/test/acceptance/coffee/helpers/User.coffee b/services/web/test/acceptance/coffee/helpers/User.coffee index 3ee7ea52c2..d9f0b1409a 100644 --- a/services/web/test/acceptance/coffee/helpers/User.coffee +++ b/services/web/test/acceptance/coffee/helpers/User.coffee @@ -163,7 +163,7 @@ class User @request.get { url: "/register" }, (err, response, body) => - return callback(error) if error? + return callback(err) if err? csrfMatches = body.match("window.csrfToken = \"(.*?)\";") if !csrfMatches? return callback(new Error("no csrf token found")) diff --git a/services/web/test/acceptance/scripts/full-test.sh b/services/web/test/acceptance/scripts/full-test.sh index c8ce75dd4b..ca10c32a0a 100755 --- a/services/web/test/acceptance/scripts/full-test.sh +++ b/services/web/test/acceptance/scripts/full-test.sh @@ -1,26 +1,40 @@ #! /usr/bin/env bash -# If you're running on OS X, you probably need to manually -# 'rm -r node_modules/bcrypt; npm install bcrypt' inside -# the docker container, before it will start. -# npm rebuild bcrypt +# If you're running on OS X, you probably need to rebuild +# some dependencies in the docker container, before it will start. +# +# npm rebuild --update-binary echo ">> Starting server..." grunt --no-color forever:app:start -echo ">> Server started" +echo ">> Waiting for Server" -sleep 5 +count=1 +max_wait=60 -echo ">> Running acceptance tests..." -grunt --no-color mochaTest:acceptance -_test_exit_code=$? +while [ $count -le $max_wait ] +do + if nc -z localhost 3000 + then + echo ">> Server Started" -echo ">> Killing server" + echo ">> Running acceptance tests..." + grunt --no-color mochaTest:acceptance + _test_exit_code=$? -grunt --no-color forever:app:stop + echo ">> Killing server" -echo ">> Done" + grunt --no-color forever:app:stop -exit $_test_exit_code \ No newline at end of file + echo ">> Done" + + exit $_test_exit_code + fi + + sleep 1 + echo -n "." + count=$((count+1)) +done +exit 1