X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=test%2FMakefile;h=2d3e8bbfe4f9f68b27403b5a5a5f6355efaf2ac1;hp=8547d4ea3956f0d4efe504d7cdc82988f48b4506;hb=e39fc641e7845d8b114f465b73aa7a5e7fa7d412;hpb=93e42611802704d6fa9cd096c7f76faa799dc501 diff --git a/test/Makefile b/test/Makefile index 8547d4e..2d3e8bb 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,11 +1,14 @@ -# 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 -#PHANTOMJS_URL=https://mkws-dev.indexdata.com/jasmine-popup.html -PHANTOMJS_URL=http://localhost:4040/jasmine-local-popup.html -PHANTOMJS_TIMEOUT=16 +APACHE_PORT:= $(shell echo $${APACHE_PORT-4040}) + +#PHANTOMJS_URL=https://mkws-dev.indexdata.com/jasmine-popup.html +PHANTOMJS_PATH=jasmine-local-popup.html +PHANTOMJS_URL=http://localhost:${APACHE_PORT}/${PHANTOMJS_PATH} +PHANTOMJS_TIMEOUT ?= 30 NPM_INSTALL_FLAGS=-q JASMINE_NODE= ./node_modules/jasmine-node/bin/jasmine-node @@ -14,17 +17,19 @@ IMAGES= ./images SCREENSHOT_WIDTH= 360 480 640 768 1024 1200 1440 2048 PERL_SCRIPTS= bin/bomb.pl TMP_DIR= ./logs -APACHE_HTTPD= /usr/sbin/apache2 +APACHE_HTTPD:= $(shell env PATH=$$PATH:/usr/sbin which apache2 httpd false | head -1 ) +APACHE_PORT ?= 4040 all: check clean: - rm -f mkws-error.png mkws-error.html + rm -f mkws-error.png mkws-error.html rm -f images/*.png + ${MAKE} -C./widgets $@ -distclean: clean clean-tmp clean-error +distclean: apache-stop 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.* @@ -35,22 +40,34 @@ clean-tmp: touch ${TMP_DIR}/.gitkeep mkws-complete-syntax-check: - ${MAKE} -C../src mkws-complete.min.js + ${MAKE} -C../src ../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 +check check-js: node-modules mkws-complete-syntax-check ${JASMINE_NODE} --noColor --captureExceptions --forceexit ./spec +check-node-installation: + @if [ ! -e node_modules ]; then \ + echo "==> please run first: make node-modules"; \ + echo ""; \ + exit 1; \ + fi + test: check terse: $(MIKE) jasmine-node --noColor --captureExceptions --forceexit spec -phantomjs p: apache-stop apache-start _phantomjs +phantomjs p: check-js apache-stop apache-start _phantomjs ${MAKE} apache-stop _phantomjs: - ./bin/bomb.pl --timeout="${PHANTOMJS_TIMEOUT}.5" ${PHANTOMJS} phantom/run-jasmine.js ${PHANTOMJS_URL} ${PHANTOMJS_TIMEOUT} + ./bin/bomb --timeout="${PHANTOMJS_TIMEOUT}.5" ${PHANTOMJS} phantom/run-jasmine.js ${PHANTOMJS_URL} ${PHANTOMJS_TIMEOUT} + +phantomjs-all p-all: + ${MAKE} phantomjs PHANTOMJS_PATH=jasmine-local-popup.html + ${MAKE} phantomjs PHANTOMJS_PATH=jasmine-popup.html?lang=de + ${MAKE} phantomjs PHANTOMJS_PATH=jasmine-cms-popup.html?lang=en + ${MAKE} phantomjs PHANTOMJS_PATH=jasmine.html?lang=da mike-test: $(MAKE) _phantomjs PHANTOMJS_URL=http://x.example.indexdata.com/jasmine-popup.html @@ -70,6 +87,9 @@ screenshot-indexdata: done; wait ls -l ${IMAGES} +screenshots: check + ${MAKE} -C ./widgets $@ + jsbeautifier jsb indent: for i in package.json ./spec*/*.js ./js/*.js ./phantom/*.js; do \ jsbeautifier -j $$i > $@.tmp && mv -f $@.tmp $$i; \ @@ -85,23 +105,32 @@ node_modules node-modules: apache-start: bin/apache-template-update - ${APACHE_HTTPD} -f `pwd`/${TMP_DIR}/jasmine-dev + umask 002; ${APACHE_HTTPD} -f `pwd`/${TMP_DIR}/jasmine-dev-${APACHE_PORT}.conf +APACHE_PID_FILE=${TMP_DIR}/mkws-jasmine-${APACHE_PORT}.pid apache-stop: - @-if [ -e ${TMP_DIR}/mkws-jasmine.pid ]; then \ - kill `cat ${TMP_DIR}/mkws-jasmine.pid`; \ + @-if [ -e ${APACHE_PID_FILE} ]; then \ + kill `cat ${APACHE_PID_FILE}`; \ else \ - killall apache2 2> /dev/null; \ + killall ${APACHE_HTTPD} 2> /dev/null; \ fi - @sleep 0.3 - rm -f ${TMP_DIR}/mkws-jasmine.pid + @sleep 0.6 + rm -f ${APACHE_PID_FILE} help: @echo "make [ all | check | clean | distclean ]" - @echo " [ phantomjs | screenshot ]" - @echo " [ jsbeautifier | perltidy ]" + @echo " [ phantomjs | phantomjs-all ]" + @echo " [ jsbeautifier | perltidy | screenshot ]" + @echo " [ screenshots ]" @echo " [ node-modules ]" @echo " [ apache-stop apache-start ]" @echo "" - @echo "DEBUG=1 make phantomjs PHANTOMJS_TIMEOUT=8 PHANTOMJS_URL=${PHANTOMJS_URL}" - + @echo "Examples: " + @echo "" + @echo "make phantomjs PHANTOMJS_PATH=${PHANTOMJS_PATH}" + @echo "DEBUG=0 APACHE_PORT=5050 make -s phantomjs PHANTOMJS_TIMEOUT=16 PHANTOMJS_PATH=${PHANTOMJS_PATH}" + @echo "DEBUG=2 make phantomjs PHANTOMJS_TIMEOUT=12 PHANTOMJS_URL=${PHANTOMJS_URL}" + @echo "" + @echo "make APACHE_PORT=5050 apache-start" + @echo "make phantomjs-all" + @echo ""