Shows changed executable lines that are not covered with unit tests.
git checkout <SOURCE_BRANCH_NAME>
./patch-coverage.sh <TARGET_BRANCH_NAME>| #!/bin/bash | |
| if [ $1 ]; then | |
| BRANCH_NAME=$1 | |
| else | |
| echo "Branch name required!" | |
| exit 1 | |
| fi | |
| GIT_BIN=`which git` | |
| PHPUNIT_BIN=`which phpunit` | |
| PHPCOV_BIN=`which phpcov` | |
| PATCH_FILE="/tmp/patch.txt" | |
| COVERAGE_FILE="/tmp/coverage.cov" | |
| CURRENT_PATH=`pwd` | |
| GREEN='\033[0;32m' | |
| NC='\033[0m' # No Color | |
| echo -e "${GREEN}RUN: ${GIT_BIN} diff ${BRANCH_NAME} > ${PATCH_FILE}${NC}" | |
| ${GIT_BIN} diff ${BRANCH_NAME} > ${PATCH_FILE} | |
| if [ $? -eq 0 ]; then | |
| echo -e "${GREEN}RUN: ${PHPUNIT_BIN} --coverage-php ${COVERAGE_FILE} --coverage-html ./build${NC}" | |
| ${PHPUNIT_BIN} --coverage-php ${COVERAGE_FILE} --coverage-html ./build | |
| if [ $? -eq 0 ]; then | |
| echo -e "${GREEN}RUN: ${PHPCOV_BIN} patch-coverage ${COVERAGE_FILE} --patch ${PATCH_FILE} --path-prefix ${CURRENT_PATH}${NC}" | |
| ${PHPCOV_BIN} patch-coverage ${COVERAGE_FILE} --patch ${PATCH_FILE} --path-prefix ${CURRENT_PATH} | |
| echo -e "${GREEN}RUN: rm ${COVERAGE_FILE}${NC}" | |
| rm ${COVERAGE_FILE} | |
| fi | |
| echo -e "${GREEN}RUN: rm ${PATCH_FILE}${NC}" | |
| rm ${PATCH_FILE} | |
| fi |