From bcb2d66dc8dc37d352b61181e3feaf609ee98553 Mon Sep 17 00:00:00 2001 From: Jon Reid Date: Sat, 21 Mar 2015 14:59:18 -0700 Subject: [PATCH] getcov: Pull body of script into main function --- getcov | 151 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 85 insertions(+), 66 deletions(-) diff --git a/getcov b/getcov index a47da05..d879ce3 100755 --- a/getcov +++ b/getcov @@ -6,6 +6,71 @@ usage() { echo "usage: getcov [[[-o output_directory] [-i info_file] [-v]] | [-h]]" } +main() { + scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + source "${scripts}/envcov.sh" + + LCOV_INFO=Coverage.info + OUT_DIR="${BUILT_PRODUCTS_DIR}" + while [ "$1" != "" ]; do + case $1 in + -o) + shift + OUT_DIR=$1 + echo "OUT_DIR = ${OUT_DIR}" + ;; + -i) + shift + LCOV_INFO=$1 + echo "LCOV_INFO = ${LCOV_INFO}" + ;; + -v) + verbose=1 + echo "Verbose" + ;; + -s|--show) + show_report=1 + echo "Show Report" + ;; + -h|--help) + usage + echo "Show Help" + exit + ;; + *) + usage + exit 1 + esac + shift + done + + if [ "$verbose" = "1" ]; then + report_values + fi + + remove_old_report + enter_lcov_dir + gather_coverage + exclude_data + generate_cobertura_xml + generate_html_report + + if [ "$show_report" = "1" ]; then + show_html_report + fi +} + +report_values() { + echo "XcodeCoverage: Environment" + echo "scripts : ${scripts}" + echo "LCOV_INFO : ${LCOV_INFO}" + echo "BUILD_DIR : ${BUILT_PRODUCTS_DIR}" + echo "SRCROOT : ${SRCROOT}" + echo "OBJ_DIR : ${OBJ_DIR}" + echo "LCOV_PATH : ${LCOV_PATH}" + echo "OUT_DIR : ${OUT_DIR}" +} + remove_old_report() { if [ "$verbose" = "1" ]; then echo "XcodeCoverage: Removing old report" @@ -25,7 +90,7 @@ enter_lcov_dir() { } gather_coverage() { - if [ "$verbose" = "1" ]; then + if [ "$verbose" = "1" ]; then echo "XcodeCoverage: Gathering coverage" fi @@ -33,83 +98,37 @@ gather_coverage() { } exclude_data() { + if [ "$verbose" = "1" ]; then + echo "XcodeCoverage: Excluding data" + fi + LCOV --remove "${LCOV_INFO}" "Developer/SDKs/*" -d "${OBJ_DIR}" -o "${LCOV_INFO}" LCOV --remove "${LCOV_INFO}" "main.m" -d "${OBJ_DIR}" -o "${LCOV_INFO}" # Remove other patterns here... - LCOV --remove "${LCOV_INFO}" "include/*" -d "${OBJ_DIR}" -o "${LCOV_INFO}" - LCOV --remove "${LCOV_INFO}" "Classes/External/*" -d "${OBJ_DIR}" -o "${LCOV_INFO}" } generate_cobertura_xml() { + if [ "$verbose" = "1" ]; then + echo "XcodeCoverage: Generating Cobertura XML" + fi + python "${scripts}/lcov_cobertura.py" ${LCOV_INFO} --base-dir "${SRCROOT}" --output "coverage.xml" } -generate_report() { - if [ "$verbose" = "1" ]; then - echo "XcodeCoverage: Generating report" +generate_html_report() { + if [ "$verbose" = "1" ]; then + echo "XcodeCoverage: Generating HTML report" fi "${LCOV_PATH}/genhtml" --output-directory . "${LCOV_INFO}" - - if [ "$show_report" = "1" ]; then - if [ "$verbose" = "1" ]; then - echo "XcodeCoverage: Opening report" - fi - open index.html +} + +show_html_report() { + if [ "$verbose" = "1" ]; then + echo "XcodeCoverage: Opening HTML report" fi + + open index.html } -scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source "${scripts}/envcov.sh" - -LCOV_INFO=Coverage.info -OUT_DIR="${BUILT_PRODUCTS_DIR}" -while [ "$1" != "" ]; do - case $1 in - -o) - shift - OUT_DIR=$1 - echo "OUT_DIR = ${OUT_DIR}" - ;; - -i) - shift - LCOV_INFO=$1 - echo "LCOV_INFO = ${LCOV_INFO}" - ;; - -v) - verbose=1 - echo "Verbose" - ;; - -s | --show ) - show_report=1 - echo "Show Report" - ;; - -h | --help ) - usage - echo "Show Help" - exit - ;; - *) - usage - exit 1 - esac - shift -done - -if [ "$verbose" = "1" ]; then - echo "XcodeCoverage: Environment" - echo "scripts : ${scripts}" - echo "LCOV_INFO : ${LCOV_INFO}" - echo "BUILD_DIR : ${BUILT_PRODUCTS_DIR}" - echo "SRCROOT : ${SRCROOT}" - echo "OBJ_DIR : ${OBJ_DIR}" - echo "LCOV_PATH : ${LCOV_PATH}" - echo "OUT_DIR : ${OUT_DIR}" -fi - -remove_old_report -enter_lcov_dir -gather_coverage -exclude_data -generate_cobertura_xml -generate_report +main "$@"