Improve detection of failures, part of MKWS-282
[mkws-moved-to-github.git] / test / Makefile
index 668d855..36351a6 100644 (file)
@@ -1,28 +1,37 @@
-# Copyright (c) 2013-2014 IndexData ApS. http://indexdata.com
+# Copyright (c) 2013-2014 Index Data ApS. http://indexdata.com
 
 # For running on Mike's local install of node.js
 MIKE = PATH=$$PATH:/usr/local/lib/node-v0.10.24-linux-x64/bin
 
+APACHE_PORT:= $(shell echo $${APACHE_PORT-4040})
+
 #PHANTOMJS_URL=https://mkws-dev.indexdata.com/jasmine-popup.html       
-PHANTOMJS_URL=http://localhost:4040/jasmine-popup.html
-PHANTOMJS_TIMEOUT=16
+PHANTOMJS_PATH=jasmine-local-popup.html
+PHANTOMJS_URL=http://localhost:${APACHE_PORT}/${PHANTOMJS_PATH}
+PHANTOMJS_TIMEOUT=18
 
 NPM_INSTALL_FLAGS=-q
 JASMINE_NODE=  ./node_modules/jasmine-node/bin/jasmine-node
 PHANTOMJS=     ./node_modules/phantomjs/bin/phantomjs
 IMAGES=        ./images
 SCREENSHOT_WIDTH=      360 480 640 768 1024 1200 1440 2048
-PERL_SCRIPTS=  bomb.pl
+PERL_SCRIPTS=  bin/bomb.pl
 TMP_DIR=       ./logs
+APACHE_HTTPD:= $(shell env PATH=$$PATH:/usr/sbin which apache2 httpd false | head -1 )
 
 all: check
 
 clean:
-       rm -f mkws-error.png mkws-error.html images/*.png
+       rm -f mkws-error.png mkws-error.html 
+       rm -f images/*.png
 
-distclean: clean clean-tmp
+distclean: clean clean-tmp clean-error
        rm -rf node_modules
        rm -f ${TMP_DIR}/jasmine-dev
+       rm -f libexec
+
+clean-error:
+       rm -f mkws-error.png.* mkws-error.html.*
 
 clean-tmp:
        rm -rf ${TMP_DIR}
@@ -30,7 +39,7 @@ clean-tmp:
        touch ${TMP_DIR}/.gitkeep
 
 mkws-complete-syntax-check:
-       ${MAKE} -C../src mkws-complete.min.js
+       ${MAKE} -C../tools/htdocs mkws-complete.min.js
 
 check: mkws-complete-syntax-check
        @if [ ! -e node_modules ]; then echo "please run first: make node-modules"; exit 1; fi 
@@ -41,10 +50,21 @@ test: check
 terse:
        $(MIKE) jasmine-node --noColor --captureExceptions --forceexit spec
 
-phantomjs p: apache-stop apache-start
-       ./bomb.pl --timeout="${PHANTOMJS_TIMEOUT}.5" ${PHANTOMJS} phantom/run-jasmine.js ${PHANTOMJS_URL} ${PHANTOMJS_TIMEOUT}
+phantomjs p: apache-stop apache-start _phantomjs 
        ${MAKE} apache-stop
 
+_phantomjs:
+       perl ./bin/bomb.pl --timeout="${PHANTOMJS_TIMEOUT}.5" ${PHANTOMJS} phantom/run-jasmine.js ${PHANTOMJS_URL} ${PHANTOMJS_TIMEOUT}
+
+phantomjs-all p-all:
+       ${MAKE} phantomjs PHANTOMJS_PATH=jasmine.html
+       ${MAKE} phantomjs PHANTOMJS_PATH=jasmine-cors-popup.html
+       ${MAKE} phantomjs PHANTOMJS_PATH=jasmine-local-popup.html
+       ${MAKE} phantomjs PHANTOMJS_PATH=jasmine-popup.html
+
+mike-test:
+       $(MAKE) _phantomjs PHANTOMJS_URL=http://x.example.indexdata.com/jasmine-popup.html
+
 screenshot:
        ${PHANTOMJS} phantom/screenshot.js ${PHANTOMJS_URL} ${IMAGES}/screenshot.png 1200 1000
 
@@ -75,22 +95,30 @@ node_modules node-modules:
 
 apache-start:
        bin/apache-template-update
-       /usr/sbin/apache2 -f `pwd`/${TMP_DIR}/jasmine-dev
-       
+       ${APACHE_HTTPD} -f `pwd`/${TMP_DIR}/jasmine-dev
+
 apache-stop:
        @-if [ -e ${TMP_DIR}/mkws-jasmine.pid ]; then \
           kill `cat ${TMP_DIR}/mkws-jasmine.pid`; \
        else \
           killall apache2 2> /dev/null; \
        fi
-       @sleep 0.3
+       @sleep 0.6
+       rm -f ${TMP_DIR}/mkws-jasmine.pid
 
 help:
        @echo "make [ all | check | clean | distclean ]"
-       @echo "     [ phantomjs | screenshot ]"
-       @echo "     [ jsbeautifier | perltidy ]"
+       @echo "     [ phantomjs | phantomjs-all ]"
+       @echo "     [ jsbeautifier | perltidy | screenshot ]"
        @echo "     [ node-modules ]"
        @echo "     [ apache-stop apache-start ]"
        @echo ""
-       @echo "DEBUG=1 make phantomjs PHANTOMJS_TIMEOUT=8 PHANTOMJS_URL=https://mkws-dev.indexdata.com/jasmine-popup.html"
+       @echo "Examples: "
+       @echo ""
+       @echo "make phantomjs PHANTOMJS_PATH=${PHANTOMJS_PATH}"
+       @echo "DEBUG=0 APACHE_PORT=5050 make -s phantomjs PHANTOMJS_TIMEOUT=12 PHANTOMJS_PATH=${PHANTOMJS_PATH}"
+       @echo "DEBUG=2 make phantomjs PHANTOMJS_TIMEOUT=12 PHANTOMJS_URL=${PHANTOMJS_URL}"
+       @echo ""
+       @echo "make phantomjs-all"
+       @echo ""