wiki.techinc.nl/tests/phpunit/Makefile
Chad Horohoe 013c859b99 Remove install-phpunit.sh
The default fetch location is PEAR, which is not where PHPUnit
is distributed from anymore. apt-get and yum tend to ship horribly
outdated versions of PHPUnit that we don't want. Macports? Lol.

Instead one should install PHPUnit via composer. If you use vagrant
for testing, this is done for you. Our composer.json also lists
PHPUnit if you want to do it yourself.

Bug: T96834
Change-Id: I84ae186a9be2595cd594b428a07f3af684c258fe
2015-04-24 10:36:19 -07:00

88 lines
2.7 KiB
Makefile

.PHONY: help test phpunit coverage warning destructive parser noparser safe databaseless list-groups
.DEFAULT: warning
SHELL = /bin/sh
CONFIG_FILE = ${PWD}/suite.xml
PHP = php
PU = ${PHP} phpunit.php --configuration ${CONFIG_FILE} ${FLAGS}
all test: warning
warning:
@echo "Run 'make help' to get usage"
@echo ""
@echo "WARNING -- some tests are DESTRUCTIVE and will alter your wiki."
@echo "DO NOT RUN THESE TESTS on a production wiki."
@echo ""
@echo "Until the default tests are made non-destructive, you can run"
@echo "the destructive tests like so:"
@echo ""
@echo " make destructive"
@echo ""
@echo "Some tests are expected to be safe, you can run them with"
@echo ""
@echo " make safe"
@echo ""
@echo "You are recommended to run the tests with read-only credentials."
@echo ""
@echo "If you don't have a database running, you can still run"
@echo ""
@echo " make databaseless"
@echo ""
destructive: phpunit
phpunit:
${PU}
tap:
${PU} --tap
coverage:
${PU} --coverage-html ../../docs/code-coverage
parser:
${PU} --group Parser
parserfuzz:
@echo "******************************************************************"
@echo "* This WILL kill your computer by eating all memory AND all swap *"
@echo "* *"
@echo "* If you are on a production machine. ABORT NOW!! *"
@echo "* Press control+C to stop *"
@echo "* *"
@echo "******************************************************************"
${PU} --group Parser,ParserFuzz
noparser:
${PU} --exclude-group Parser,Broken,ParserFuzz,Stub
safe:
${PU} --exclude-group Broken,ParserFuzz,Destructive,Stub
databaseless:
${PU} --exclude-group Broken,ParserFuzz,Destructive,Database,Stub
database:
${PU} --exclude-group Broken,ParserFuzz,Destructive,Stub --group Database
list-groups:
${PU} --list-groups
help:
# Usage:
# make <target> [OPTION=value]
#
# Targets:
# phpunit (default) Run all the tests with phpunit
# install Install PHPUnit from phpunit.de
# tap Run the tests individually through Test::Harness's prove(1)
# help You're looking at it!
# coverage Run the tests and generates an HTML code coverage report
# You will need the Xdebug PHP extension for the later.
# [no]parser Skip or only run Parser tests
#
# list-groups List available Tests groups.
#
# Options:
# CONFIG_FILE Path to a PHPUnit configuration file (default: suite.xml)
# FLAGS Additional flags to pass to PHPUnit
# PHP Path to php