Commit | Line | Data |
---|---|---|
f03dc6b0 TO |
1 | #!/bin/bash |
2 | PHP=${PHP:-php} | |
3 | PHPUNIT=${PHPUNIT:-phpunit} | |
4 | MODE=standalone | |
35e0b420 TO |
5 | XMLDIR= |
6 | JSONDIR= | |
f03dc6b0 | 7 | |
35e0b420 TO |
8 | while [ -n "$1" ]; do |
9 | ARG="$1" | |
f03dc6b0 | 10 | shift |
f03dc6b0 | 11 | |
35e0b420 TO |
12 | case "$ARG" in |
13 | --civi) | |
14 | MODE=civi | |
15 | ;; | |
16 | --test-dir) | |
17 | TESTSUITE="$1" | |
18 | shift | |
19 | ;; | |
20 | --json-dir) | |
21 | JSONDIR="$1" | |
22 | [ ! -d "$JSONDIR" ] && mkdir -p "$JSONDIR" | |
23 | shift | |
24 | ;; | |
25 | --xml-dir) | |
26 | XMLDIR="$1" | |
27 | [ ! -d "$XMLDIR" ] && mkdir -p "$XMLDIR" | |
28 | shift | |
29 | ;; | |
30 | *) | |
31 | echo "unrecognized option: $ARG" | |
32 | ;; | |
33 | esac | |
34 | done | |
f03dc6b0 | 35 | |
f03dc6b0 | 36 | |
35e0b420 | 37 | if [ -z "$TESTSUITE" ]; then |
f03dc6b0 | 38 | echo "summary: Executes all tests in a suite (individually)" |
35e0b420 | 39 | echo "usage: $0 --test-dir <dir> [--json-dir <dir>] [--xml-dir <dir>] [--civi]" |
f03dc6b0 TO |
40 | exit 1 |
41 | fi | |
42 | ||
f03dc6b0 TO |
43 | |
44 | #phpunit-ls "$TESTSUITE" | |
45 | phpunit-ls "$TESTSUITE" | while read FILE CLASS METHOD ; do | |
35e0b420 TO |
46 | PHPUNITARGS="--tap" |
47 | if [ -n "$JSONDIR" ]; then | |
48 | PHPUNITARGS="$PHPUNITARGS --log-json $JSONDIR/$CLASS-$METHOD.json" | |
49 | fi | |
50 | if [ -n "$XMLDIR" ]; then | |
51 | PHPUNITARGS="$PHPUNITARGS --log-junit $XMLDIR/$CLASS-$METHOD.xml" | |
52 | fi | |
53 | ||
54 | ||
f03dc6b0 | 55 | if [ "$MODE" == "civi" ]; then |
35e0b420 | 56 | $PHP ./scripts/phpunit $PHPUNITARGS --filter $METHOD'( with.*)?$' "$CLASS" |
f03dc6b0 TO |
57 | fi |
58 | if [ "$MODE" == "standalone" ]; then | |
35e0b420 | 59 | $PHP $(which $PHPUNIT) $PHPUNITARGS --filter $METHOD'( with.*)?$' "$FILE" |
f03dc6b0 TO |
60 | fi |
61 | done |