Merge "Run tests from MediaWiki-Vagrant virtual machine headlessly"
[lhc/web/wiklou.git] / tests / phpunit / Makefile
1 .PHONY: help test phpunit coverage warning destructive parser noparser safe databaseless list-groups
2 .DEFAULT: warning
3
4 SHELL = /bin/sh
5 CONFIG_FILE = ${PWD}/suite.xml
6 PHP = php
7 PU = ${PHP} phpunit.php --configuration ${CONFIG_FILE} ${FLAGS}
8
9 all test: warning
10
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 ""
32
33 destructive: phpunit
34
35 phpunit:
36 ${PU}
37
38 tap:
39 ${PU} --tap
40
41 coverage:
42 ${PU} --coverage-html ../../docs/code-coverage
43
44 parser:
45 ${PU} --group Parser
46 parserfuzz:
47 @echo "******************************************************************"
48 @echo "* This WILL kill your computer by eating all memory AND all swap *"
49 @echo "* *"
50 @echo "* If you are on a production machine. ABORT NOW!! *"
51 @echo "* Press control+C to stop *"
52 @echo "* *"
53 @echo "******************************************************************"
54 ${PU} --group Parser,ParserFuzz
55 noparser:
56 ${PU} --exclude-group Parser,Broken,ParserFuzz,Stub
57
58 safe:
59 ${PU} --exclude-group Broken,ParserFuzz,Destructive,Stub
60
61 databaseless:
62 ${PU} --exclude-group Broken,ParserFuzz,Destructive,Database,Stub
63
64 database:
65 ${PU} --exclude-group Broken,ParserFuzz,Destructive,Stub --group Database
66
67 list-groups:
68 ${PU} --list-groups
69
70 help:
71 # Usage:
72 # make <target> [OPTION=value]
73 #
74 # Targets:
75 # phpunit (default) Run all the tests with phpunit
76 # tap Run the tests individually through Test::Harness's prove(1)
77 # help You're looking at it!
78 # coverage Run the tests and generates an HTML code coverage report
79 # You will need the Xdebug PHP extension for the latter.
80 # [no]parser Skip or only run Parser tests
81 #
82 # list-groups List available Tests groups.
83 #
84 # Options:
85 # CONFIG_FILE Path to a PHPUnit configuration file (default: suite.xml)
86 # FLAGS Additional flags to pass to PHPUnit
87 # PHP Path to php