-# 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
+PHANTOMJS_FLAGS ?= --ignore-ssl-errors=true
NPM_INSTALL_FLAGS=-q
JASMINE_NODE= ./node_modules/jasmine-node/bin/jasmine-node
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 images/*.png
+ rm -f mkws-error.png mkws-error.html
+ rm -f images/*.png
+ ${MAKE} -C./widgets $@
-distclean: clean clean-tmp
+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.*
clean-tmp:
rm -rf ${TMP_DIR}
mkdir -p ${TMP_DIR}
- touch ${TMP_DIR}/.gitignore
+ 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
- ./bin/bomb.pl --timeout="${PHANTOMJS_TIMEOUT}.5" ${PHANTOMJS} phantom/run-jasmine.js ${PHANTOMJS_URL} ${PHANTOMJS_TIMEOUT}
+phantomjs p: check-js apache-stop apache-start _phantomjs
${MAKE} apache-stop
+_phantomjs:
+ ./bin/bomb --timeout="${PHANTOMJS_TIMEOUT}.5" -- ${PHANTOMJS} ${PHANTOMJS_FLAGS} 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
+
screenshot:
${PHANTOMJS} phantom/screenshot.js ${PHANTOMJS_URL} ${IMAGES}/screenshot.png 1200 1000
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; \
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
+ @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 ""