Skip to content

Commit bcb2d66

Browse files
committed
getcov: Pull body of script into main function
1 parent 05e309b commit bcb2d66

File tree

1 file changed

+85
-66
lines changed

1 file changed

+85
-66
lines changed

getcov

Lines changed: 85 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,71 @@ usage() {
66
echo "usage: getcov [[[-o output_directory] [-i info_file] [-v]] | [-h]]"
77
}
88

9+
main() {
10+
scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
11+
source "${scripts}/envcov.sh"
12+
13+
LCOV_INFO=Coverage.info
14+
OUT_DIR="${BUILT_PRODUCTS_DIR}"
15+
while [ "$1" != "" ]; do
16+
case $1 in
17+
-o)
18+
shift
19+
OUT_DIR=$1
20+
echo "OUT_DIR = ${OUT_DIR}"
21+
;;
22+
-i)
23+
shift
24+
LCOV_INFO=$1
25+
echo "LCOV_INFO = ${LCOV_INFO}"
26+
;;
27+
-v)
28+
verbose=1
29+
echo "Verbose"
30+
;;
31+
-s|--show)
32+
show_report=1
33+
echo "Show Report"
34+
;;
35+
-h|--help)
36+
usage
37+
echo "Show Help"
38+
exit
39+
;;
40+
*)
41+
usage
42+
exit 1
43+
esac
44+
shift
45+
done
46+
47+
if [ "$verbose" = "1" ]; then
48+
report_values
49+
fi
50+
51+
remove_old_report
52+
enter_lcov_dir
53+
gather_coverage
54+
exclude_data
55+
generate_cobertura_xml
56+
generate_html_report
57+
58+
if [ "$show_report" = "1" ]; then
59+
show_html_report
60+
fi
61+
}
62+
63+
report_values() {
64+
echo "XcodeCoverage: Environment"
65+
echo "scripts : ${scripts}"
66+
echo "LCOV_INFO : ${LCOV_INFO}"
67+
echo "BUILD_DIR : ${BUILT_PRODUCTS_DIR}"
68+
echo "SRCROOT : ${SRCROOT}"
69+
echo "OBJ_DIR : ${OBJ_DIR}"
70+
echo "LCOV_PATH : ${LCOV_PATH}"
71+
echo "OUT_DIR : ${OUT_DIR}"
72+
}
73+
974
remove_old_report() {
1075
if [ "$verbose" = "1" ]; then
1176
echo "XcodeCoverage: Removing old report"
@@ -25,91 +90,45 @@ enter_lcov_dir() {
2590
}
2691

2792
gather_coverage() {
28-
if [ "$verbose" = "1" ]; then
93+
if [ "$verbose" = "1" ]; then
2994
echo "XcodeCoverage: Gathering coverage"
3095
fi
3196

3297
LCOV --capture --derive-func-data -b "${SRCROOT}" -d "${OBJ_DIR}" -o "${LCOV_INFO}"
3398
}
3499

35100
exclude_data() {
101+
if [ "$verbose" = "1" ]; then
102+
echo "XcodeCoverage: Excluding data"
103+
fi
104+
36105
LCOV --remove "${LCOV_INFO}" "Developer/SDKs/*" -d "${OBJ_DIR}" -o "${LCOV_INFO}"
37106
LCOV --remove "${LCOV_INFO}" "main.m" -d "${OBJ_DIR}" -o "${LCOV_INFO}"
38107
# Remove other patterns here...
39-
LCOV --remove "${LCOV_INFO}" "include/*" -d "${OBJ_DIR}" -o "${LCOV_INFO}"
40-
LCOV --remove "${LCOV_INFO}" "Classes/External/*" -d "${OBJ_DIR}" -o "${LCOV_INFO}"
41108
}
42109

43110
generate_cobertura_xml() {
111+
if [ "$verbose" = "1" ]; then
112+
echo "XcodeCoverage: Generating Cobertura XML"
113+
fi
114+
44115
python "${scripts}/lcov_cobertura.py" ${LCOV_INFO} --base-dir "${SRCROOT}" --output "coverage.xml"
45116
}
46117

47-
generate_report() {
48-
if [ "$verbose" = "1" ]; then
49-
echo "XcodeCoverage: Generating report"
118+
generate_html_report() {
119+
if [ "$verbose" = "1" ]; then
120+
echo "XcodeCoverage: Generating HTML report"
50121
fi
51122

52123
"${LCOV_PATH}/genhtml" --output-directory . "${LCOV_INFO}"
53-
54-
if [ "$show_report" = "1" ]; then
55-
if [ "$verbose" = "1" ]; then
56-
echo "XcodeCoverage: Opening report"
57-
fi
58-
open index.html
124+
}
125+
126+
show_html_report() {
127+
if [ "$verbose" = "1" ]; then
128+
echo "XcodeCoverage: Opening HTML report"
59129
fi
130+
131+
open index.html
60132
}
61133

62-
scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
63-
source "${scripts}/envcov.sh"
64-
65-
LCOV_INFO=Coverage.info
66-
OUT_DIR="${BUILT_PRODUCTS_DIR}"
67-
while [ "$1" != "" ]; do
68-
case $1 in
69-
-o)
70-
shift
71-
OUT_DIR=$1
72-
echo "OUT_DIR = ${OUT_DIR}"
73-
;;
74-
-i)
75-
shift
76-
LCOV_INFO=$1
77-
echo "LCOV_INFO = ${LCOV_INFO}"
78-
;;
79-
-v)
80-
verbose=1
81-
echo "Verbose"
82-
;;
83-
-s | --show )
84-
show_report=1
85-
echo "Show Report"
86-
;;
87-
-h | --help )
88-
usage
89-
echo "Show Help"
90-
exit
91-
;;
92-
*)
93-
usage
94-
exit 1
95-
esac
96-
shift
97-
done
98-
99-
if [ "$verbose" = "1" ]; then
100-
echo "XcodeCoverage: Environment"
101-
echo "scripts : ${scripts}"
102-
echo "LCOV_INFO : ${LCOV_INFO}"
103-
echo "BUILD_DIR : ${BUILT_PRODUCTS_DIR}"
104-
echo "SRCROOT : ${SRCROOT}"
105-
echo "OBJ_DIR : ${OBJ_DIR}"
106-
echo "LCOV_PATH : ${LCOV_PATH}"
107-
echo "OUT_DIR : ${OUT_DIR}"
108-
fi
109-
110-
remove_old_report
111-
enter_lcov_dir
112-
gather_coverage
113-
exclude_data
114-
generate_cobertura_xml
115-
generate_report
134+
main "$@"

0 commit comments

Comments
 (0)