test: coverage recording now needs to be explicit
[mediawiki.git] / tests / phpunit / Makefile
blobc3e2a3037505257c4ea437b37fb0784f33fe35fa
1 .PHONY: help test phpunit install coverage warning destructive parser noparser safe databaseless list-groups
2 .DEFAULT: warning
4 SHELL = /bin/sh
5 CONFIG_FILE = ${PWD}/suite.xml
6 PHP = php
7 PU = ${PHP} phpunit.php --configuration ${CONFIG_FILE} ${FLAGS}
9 all test: warning
11 warning:
12 @echo "Run 'make help' to get usage"
13 @echo ""
14 @echo "WARNING -- some tests are DESTRUCTIVE and will alter your wiki."
15 @echo "DO NOT RUN THESE TESTS on a production wiki."
16 @echo ""
17 @echo "Until the default tests are made non-destructive, you can run"
18 @echo "the destructive tests like so:"
19 @echo ""
20 @echo " make destructive"
21 @echo ""
22 @echo "Some tests are expected to be safe, you can run them with"
23 @echo ""
24 @echo " make safe"
25 @echo ""
26 @echo "You are recommended to run the tests with read-only credentials."
27 @echo ""
28 @echo "If you don't have a database running, you can still run"
29 @echo ""
30 @echo " make databaseless"
31 @echo ""
33 destructive: phpunit
35 phpunit:
36 ${PU}
38 install:
39 ./install-phpunit.sh
41 tap:
42 ${PU} --tap
44 coverage:
45 ${PU} --coverage-html ../../docs/code-coverage
47 parser:
48 ${PU} --group Parser
49 parserfuzz:
50 @echo "******************************************************************"
51 @echo "* This WILL kill your computer by eating all memory AND all swap *"
52 @echo "* *"
53 @echo "* If you are on a production machine. ABORT NOW!! *"
54 @echo "* Press control+C to stop *"
55 @echo "* *"
56 @echo "******************************************************************"
57 ${PU} --group Parser,ParserFuzz
58 noparser:
59 ${PU} --exclude-group Parser,Broken,ParserFuzz,Stub
61 safe:
62 ${PU} --exclude-group Broken,ParserFuzz,Destructive,Stub
64 databaseless:
65 ${PU} --exclude-group Broken,ParserFuzz,Destructive,Database,Stub
67 database:
68 ${PU} --exclude-group Broken,ParserFuzz,Destructive,Stub --group Database
70 list-groups:
71 ${PU} --list-groups
73 help:
74 # Usage:
75 # make <target> [OPTION=value]
77 # Targets:
78 # phpunit (default) Run all the tests with phpunit
79 # install Install PHPUnit from phpunit.de
80 # tap Run the tests individually through Test::Harness's prove(1)
81 # help You're looking at it!
82 # coverage Run the tests and generates an HTML code coverage report
83 # You will need the Xdebug PHP extension for the later.
84 # [no]parser Skip or only run Parser tests
86 # list-groups List availabe Tests groups.
88 # Options:
89 # CONFIG_FILE Path to a PHPUnit configuration file (default: suite.xml)
90 # FLAGS Additional flags to pass to PHPUnit
91 # PHP Path to php