11COLOR_ENABLED ?= true
22TEST_OUTPUT_STYLE ?= dot
3- COVERAGE_OUTPUT_STYLE ?= html
43
54# # DIRECTORY AND FILE
65BUILD_DIRECTORY ?= build
76REPORTS_DIRECTORY ?= ${BUILD_DIRECTORY}/reports
87COVERAGE_DIRECTORY ?= ${BUILD_DIRECTORY}/coverage
9- BEHAT_COVERAGE_DIRECTORY ?= ${BUILD_DIRECTORY}/behat- coverage
8+ BEHAT_COVERAGE_DIRECTORY ?= ${BUILD_DIRECTORY}/coverage-behat
109COVERAGE_CLOVER_FILE_PATH ?= ${COVERAGE_DIRECTORY}/clover.xml
1110
1211# # Commands options
3938BEHAT_OUTPUT_STYLE_OPTION ?= --format progress
4039endif
4140
42- ifeq ("${COVERAGE_OUTPUT_STYLE}","clover")
43- PHPUNIT_COVERAGE_OPTION ?= --coverage-clover ${COVERAGE_CLOVER_FILE_PATH}
44- else
41+ ifdef COVERAGE_OUTPUT_STYLE
42+ export XDEBUG_MODE=coverage
4543ifeq ("${COVERAGE_OUTPUT_STYLE}","html")
46- PHPUNIT_COVERAGE_OPTION ?= --coverage-html ${COVERAGE_DIRECTORY}
47- else
48- PHPUNIT_COVERAGE_OPTION ?= --coverage-text
49- endif
44+ PHPUNIT_COVERAGE_OPTION ?= --coverage-html ${COVERAGE_DIRECTORY}
45+ BEHAT_COVERAGE_OPTION ?= --profile coverage-html
46+ else ifeq ("${COVERAGE_OUTPUT_STYLE}","clover")
47+ PHPUNIT_COVERAGE_OPTION ?= --coverage-clover ${COVERAGE_CLOVER_FILE_PATH}
48+ BEHAT_COVERAGE_OPTION ?= --profile coverage-clover
49+ else
50+ PHPUNIT_COVERAGE_OPTION ?= --coverage-text
51+ BEHAT_COVERAGE_OPTION ?= --profile coverage
52+ endif
5053endif
5154
5255ifneq ("${PHPCS_REPORT_FILE}","")
@@ -71,39 +74,36 @@ install:
7174configure :
7275
7376# Project tests
74- test :
75- make test-functional
76- make test-technical
77- make codestyle
77+ test : test-functional test-unit codestyle
7878
79- test-technical :
80- ./vendor/bin/phpunit ${PHPUNIT_COLOR_OPTION} ${PHPUNIT_OUTPUT_STYLE_OPTION} --testsuite technical
79+ ifdef PHPUNIT_COVERAGE_OPTION
80+ test-unit : create-build-directories
81+ endif
82+ test-unit :
83+ ./vendor/bin/phpunit ${PHPUNIT_COLOR_OPTION} ${PHPUNIT_OUTPUT_STYLE_OPTION} ${PHPUNIT_COVERAGE_OPTION} --testsuite technical
8184
85+ ifdef BEHAT_COVERAGE_OPTION
86+ test-functional : create-build-directories
87+ else ifdef PHPUNIT_COVERAGE_OPTION
88+ test-functional : create-build-directories
89+ endif
8290test-functional :
83- ./vendor/bin/phpunit ${PHPUNIT_COLOR_OPTION} ${PHPUNIT_OUTPUT_STYLE_OPTION} --testsuite functional
84- ./vendor/bin/behat ${BEHAT_COLOR_OPTION} ${BEHAT_OUTPUT_STYLE_OPTION} --no-snippets
91+ ./vendor/bin/phpunit ${PHPUNIT_COLOR_OPTION} ${PHPUNIT_OUTPUT_STYLE_OPTION} ${PHPUNIT_COVERAGE_OPTION} --testsuite functional
92+ ./vendor/bin/behat ${BEHAT_COLOR_OPTION} ${BEHAT_OUTPUT_STYLE_OPTION} ${BEHAT_COVERAGE_OPTION} --no-snippets
8593
86- codestyle : create-reports-directory
94+ codestyle : create-build-directories
8795./vendor/bin/phpcs ${PHPCS_DISABLE_WARNING_OPTION} --standard=phpcs.xml.dist ${PHPCS_COLOR_OPTION} ${PHPCS_REPORT_FILE_OPTION} --report=${PHPCS_REPORT_STYLE}
8896
89- coverage : create-coverage-directory
97+ scrutinizer-phpunit :
9098./vendor/bin/phpunit ${PHPUNIT_COLOR_OPTION} ${PHPUNIT_OUTPUT_STYLE_OPTION} ${PHPUNIT_COVERAGE_OPTION}
9199
92- behat-coverage : create-behat-coverage-directory
93- composer required leanphp/behat-code-coverage
94- ./vendor/bin/behat ${BEHAT_COLOR_OPTION} ${BEHAT_OUTPUT_STYLE_OPTION} --no-snippets --profile coverage
100+ scrutinizer-behat :
101+ ./vendor/bin/behat ${BEHAT_COLOR_OPTION} ${BEHAT_OUTPUT_STYLE_OPTION} ${BEHAT_COVERAGE_OPTION} --no-snippets
95102
96103
97104# Internal commands
98- create-coverage-directory :
99- mkdir -p ${COVERAGE_DIRECTORY}
100-
101- create-behat-coverage-directory :
102- mkdir -p ${BEHAT_COVERAGE_DIRECTORY}
103-
104- create-reports-directory :
105- mkdir -p ${REPORTS_DIRECTORY}
106-
105+ create-build-directories :
106+ mkdir -p ${COVERAGE_DIRECTORY} ${BEHAT_COVERAGE_DIRECTORY} ${REPORTS_DIRECTORY} ${REPORTS_DIRECTORY}
107107
108- .PHONY : build install configure test test-technical test-functional codestyle coverage behat-coverage create-coverage-directory create -behat-coverage-directory create-reports-directory
108+ .PHONY : build install configure test test-unit test-functional codestyle create-build-directories scrutinizer -behat scrutinizer-phpunit
109109.DEFAULT : build
0 commit comments