@@ -6,6 +6,71 @@ usage() {
6
6
echo " usage: getcov [[[-o output_directory] [-i info_file] [-v]] | [-h]]"
7
7
}
8
8
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
+
9
74
remove_old_report () {
10
75
if [ " $verbose " = " 1" ]; then
11
76
echo " XcodeCoverage: Removing old report"
@@ -25,91 +90,45 @@ enter_lcov_dir() {
25
90
}
26
91
27
92
gather_coverage () {
28
- if [ " $verbose " = " 1" ]; then
93
+ if [ " $verbose " = " 1" ]; then
29
94
echo " XcodeCoverage: Gathering coverage"
30
95
fi
31
96
32
97
LCOV --capture --derive-func-data -b " ${SRCROOT} " -d " ${OBJ_DIR} " -o " ${LCOV_INFO} "
33
98
}
34
99
35
100
exclude_data () {
101
+ if [ " $verbose " = " 1" ]; then
102
+ echo " XcodeCoverage: Excluding data"
103
+ fi
104
+
36
105
LCOV --remove " ${LCOV_INFO} " " Developer/SDKs/*" -d " ${OBJ_DIR} " -o " ${LCOV_INFO} "
37
106
LCOV --remove " ${LCOV_INFO} " " main.m" -d " ${OBJ_DIR} " -o " ${LCOV_INFO} "
38
107
# 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} "
41
108
}
42
109
43
110
generate_cobertura_xml () {
111
+ if [ " $verbose " = " 1" ]; then
112
+ echo " XcodeCoverage: Generating Cobertura XML"
113
+ fi
114
+
44
115
python " ${scripts} /lcov_cobertura.py" ${LCOV_INFO} --base-dir " ${SRCROOT} " --output " coverage.xml"
45
116
}
46
117
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"
50
121
fi
51
122
52
123
" ${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"
59
129
fi
130
+
131
+ open index.html
60
132
}
61
133
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