Merge "Update snapshot_history" into tizen_5.5
[platform/upstream/iotivity.git] / tools / generate_report.sh
1 #!/bin/bash
2
3 set -e
4 #Colors
5 RED="\033[0;31m"
6 GREEN="\033[0;32m"
7 BLUE="\033[0;34m"
8 NO_COLOUR="\033[0m"
9
10 #Defaults
11 time_stamp=$(date -u +%Y-%b-%d)
12 module_name="CA"
13 report_format="html"
14 report_flags="--html --html-details";
15
16 #IOTIVITY Flags
17 IOTIVITY_BASE="${PWD}"
18 IOTIVITY_TARGET_OS="linux"
19 IOTIVITY_TARGET_ARCH="$(uname -m)"
20 USE_TIMESTAMP="yes"
21 UNITTEST_XML_REPORT="yes"
22
23 case $IOTIVITY_TARGET_ARCH in
24 i*86)
25 IOTIVITY_TARGET_ARCH=x86
26 ;;
27 esac
28
29
30 usage() {
31     echo "Usage: tools/generate_report.sh <options>"
32     echo "Options:"
33     echo "      -h / --help                                     :  Display help and exit"
34     echo "      -c                                              :  Clean IoTivity Repository; Should be used to clean existing repository"
35     echo "      -f [html|gcov|xml] (default: html)              :  Report Format."
36     echo "      --format=[html|gcov|xml] (default: html)        :  Report Format."
37     echo "      --module=[CA|ES|RE|SM|NS|CHP|ALL] (default: CA) :  Module for which report needs to be generated."
38     echo "      --timestamp=[yes|no] (default: yes)             :  Remove Time Stamp from the report output. If directory exits, overwrites the report to the same directory"
39     echo "      --ut_report=[yes|no] (default: yes)             :  The unit test report will be generated in xml format (as gtest only supports xml)."
40     echo "      --target_arch=[x86|x86_64] (default: x86)       :  Choose Target Architecture for running test executables."
41     echo "Example:"
42     echo "  $ cd path/to/iotivity "
43     echo "  $ scons TARGET_TRANSPORT=IP LOGGING=0 RELEASE=0 SECURED=0 WITH_TCP=0 TARGET_ARCH=x86 WITH_PROXY=1 TEST=0 "
44     echo "  $ tools/generate_report.sh --format=html --module=ALL --timestamp=yes --ut_report=yes"
45 }
46
47 clean_iotivity() {
48     echo -e "Cleaning ${BLUE}${IOTIVITY_BASE}${NO_COLOUR}"
49     echo -e "Deleting  ${RED}${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug${NO_COLOUR}"
50     echo -e "Deleting  ${RED}${IOTIVITY_BASE}/.sconf_temp${NO_COLOUR}"
51     echo -e "Deleting  ${RED}${IOTIVITY_BASE}/.sconsign.dblite${NO_COLOUR}"
52     rm -r "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug" "${IOTIVITY_BASE}/.sconf_temp" "${IOTIVITY_BASE}/.sconsign.dblite"
53     find "${IOTIVITY_BASE}" -name "*.memcheck" -delete -o -name "*.gcno" -delete -o -name "*.gcda" -delete -o -name "*.os" -delete -o -name "*.o" -delete
54     echo -e "Finished Cleaning ${BLUE}${IOTIVITY_BASE}${NO_COLOUR}"
55 }
56
57 process_cmd_args() {
58     while [ "$#" -gt 0  ]; do
59         case "$1" in
60             -c)
61                 clean_iotivity
62                 shift 1; exit 0
63                 ;;
64
65             -f)
66                 report_format="$2";
67                 if [ "gcov" != ${report_format} -a "html" != ${report_format} -a "xml" != ${report_format} ]; then
68                     usage; exit 1;
69                 fi
70                 case "$report_format" in
71                     "html")
72                         report_flags="--html --html-details";
73                         ;;
74                     "gcov")
75                         report_flags="";
76                         ;;
77                     "xml")
78                         report_flags="--xml";
79                         ;;
80                 esac
81                 shift 2
82                 ;;
83
84             --format=*)
85                 report_format="${1#*=}";
86                 if [ "gcov" != ${report_format} -a "html" != ${report_format} -a "xml" != ${report_format} ]; then
87                     usage; exit 1;
88                 fi
89                 case "$report_format" in
90                     "html")
91                         report_flags="--html --html-details";
92                         ;;
93                     "gcov")
94                         report_flags="";
95                         ;;
96                     "xml")
97                         report_flags="--xml --xml-pretty";
98                         ;;
99                 esac
100                 shift 1
101                 ;;
102
103             --format)
104                 echo "$1 requires an argument [gcov|html|xml]" >&2;
105                 usage;
106                 exit 1
107                 ;;
108
109             --module=*)
110                 module_name="${1#*=}";
111                 if [ "CA" != ${module_name} -a "ES" != ${module_name} -a "RE" != ${module_name} -a "SM" != ${module_name} -a "NS" != ${module_name} -a "CHP" != ${module_name} -a "ALL" != ${module_name} ]; then
112                     usage; exit 1;
113                 fi
114                 shift 1
115                 ;;
116
117             --timestamp=*)
118                 USE_TIMESTAMP="${1#*=}";
119                 if [ "yes" != ${USE_TIMESTAMP} -a "no" != ${USE_TIMESTAMP} ]; then
120                     usage; exit 1;
121                 fi
122                 shift 1
123                 ;;
124             --timestamp)
125                 echo "$1 requires an argument [yes|no]" >&2;
126                 usage;
127                 exit 1
128                 ;;
129
130             --ut_report=*)
131                 UNITTEST_XML_REPORT="${1#*=}";
132                 if [ "yes" != ${UNITTEST_XML_REPORT} -a "no" != ${UNITTEST_XML_REPORT} ]; then
133                     usage; exit 1;
134                 fi
135                 shift 1
136                 ;;
137             --ut_report)
138                 echo "$1 requires an argument [yes|no]" >&2;
139                 usage;
140                 exit 1
141                 ;;
142
143             --target_arch=*)
144                 IOTIVITY_TARGET_ARCH="${1#*=}";
145                 if [ "x86" != ${IOTIVITY_TARGET_ARCH} -a "x86_64" != ${IOTIVITY_TARGET_ARCH} ]; then
146                     usage; exit 1;
147                 fi
148                 shift 1
149                 ;;
150             --target_arch)
151                 echo "$1 requires an argument" >&2;
152                 usage;
153                 exit 1
154                 ;;
155
156             -h)
157                 usage;
158                 shift 1; exit 0
159                 ;;
160             --help)
161                 usage;
162                 shift 1; exit 0
163                 ;;
164
165             -*)
166                 echo "unknown option: $1" >&2;
167                 usage;
168                 exit 1
169                 ;;
170         esac
171     done
172 }
173
174 generate_report_CA()
175 {
176     # Setting Parameters
177     if [ "yes" = ${USE_TIMESTAMP} ]; then
178         report_dir="${module_name}_${time_stamp}"
179     else
180         report_dir="${module_name}"
181     fi
182
183     report_file="report.${report_format}"
184
185     test_report_dir="TestReport/${report_format}/${report_dir}"
186     test_report_file="${test_report_dir}/${report_file}"
187
188     rm -rf "${test_report_dir}"
189     mkdir -p "${test_report_dir}"
190
191     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
192
193     #Setting Proper Location for UnitTest XML report generation
194     unittest_report_dir="UnitTestReport/${report_dir}"
195     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
196         rm -rf "${unittest_report_dir}"
197         mkdir -p "${unittest_report_dir}"
198         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
199     fi
200
201     tests_list=(
202                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/csdk/connectivity/test/catests"
203                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/csdk/stack/test/stacktests"
204                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/csdk/stack/test/cbortests"
205                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/unittests/unittests"
206                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/c_common/ocrandom/test/randomtests"
207                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/c_common/oic_malloc/test/malloctests"
208                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/c_common/oic_string/test/stringtests"
209                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/resource/c_common/oic_time/test/timetests"
210                );
211
212     for exe in ${tests_list[@]}; do
213         filename=$(basename -- "${exe}")
214         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
215             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
216         fi
217         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
218     done
219
220     unset tests_list
221
222     sleep 1
223
224     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
225
226     # Printing Unit Test Report Location
227     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
228         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
229     fi
230
231     gcovr -r . \
232         -e ".sconf_temp*" \
233         -e "examples.OICMiddle" \
234         -e "extlibs.*" \
235         -e "extlibs.hippomocks-master.*" \
236         -e "extlibs.rapidxml.*" \
237         -e "out.linux.*" \
238         -e "plugins.*" \
239         -e "resource.csdk.connectivity.lib.*" \
240         -e "resource.csdk.connectivity.samples.linux.*" \
241         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
242         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
243         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
244         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
245         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
246         -e "resource.csdk.connectivity.test.*" \
247         -e "resource.csdk.logger.*" \
248         -e "resource.src.*" \
249         -e "resource.csdk.security.provisioning.include.*" \
250         -e "resource.csdk.security.provisioning.sample.*" \
251         -e "resource.csdk.security.provisioning.src.cloud.*" \
252         -e "resource.csdk.security.provisioning.unittest.*" \
253         -e "resource.csdk.security.unittest.*" \
254         -e "resource.csdk.stack.*" \
255         -e "resource.examples.*" \
256         -e "resource.unittests.*" \
257         -e "resource.include.*" \
258         -e "resource.oc_logger.*" \
259         -e "resource.provisioning.examples.*" \
260         -e "resource.provisioning.unittests.*" \
261         -e "resource.csdk.connectivity.common.src.logger.c.*" \
262         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
263         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
264         -e "service.resource-encapsulation.include.*" \
265         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
266         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
267         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
268         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
269         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
270         -e "service.resource-encapsulation.unittest.*" \
271         -e "service.resource-hosting.src.unittest.*" \
272         -e "service.resource-hosting.SampleApp.*" \
273         -e "service.things-manager.*" \
274         -e "service.notification.unittest.*" \
275         -e "service.easy-setup.unittest.*" \
276         -e "service.easy-setup.sample.*" \
277         -e "service.easy-setup.mediator.csdk.unittests.*" \
278         -e "service.easy-setup.mediator.richsdk.unittests.*" \
279         -e "service.easy-setup.enrollee.unittest.*" \
280         -e "service.resource-container.examples.*" \
281         -e "service.resource-container.unittests." \
282         -e "service.resource-container.bundle-api." \
283         -e "service.resource-encapsulation.examples.*" \
284         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
285         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
286         -e "service.resource-encapsulation.src.resourceCache.unittest." \
287         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
288         -e "service.resource-encapsulation.unittest." \
289         -e "service.resource-encapsulation.src.common.utils.*" \
290         -e "service.things-manager.sampleapp.*" \
291         -e "service.resource-hosting.unittest" \
292         -e "resource.c_common.oic_string.test.*" \
293         -e "service.notification.unittests.*" \
294         -e "service.notification.cpp-wrapper.unittest.*" \
295         -e "resource.c_common.*" \
296         -e "service.resource-directory.samples.*" \
297         -e "resource.csdk.security.src.*" \
298         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
299         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
300         -e "service.scene-manager.sampleapp.*" \
301         -e "service.scene-manager.unittests.*" \
302         -e "service.coap-http-proxy.unittests.*" \
303         -e "service.*" \
304         -e "resource.csdk.security.*" \
305         -e "resource.csdk.resource-directory.*" \
306         -e "resource.csdk.routing.*" \
307         -e "resource.csdk.include.*" \
308         ${report_flags} -o ${test_report_file}
309
310     if [  $? -eq 0 ]; then
311         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
312         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
313     else
314         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
315     fi
316 }
317
318 generate_report_ES()
319 {
320     # Setting Parameters
321     if [ "yes" = ${USE_TIMESTAMP} ]; then
322         report_dir="${module_name}_${time_stamp}"
323     else
324         report_dir="${module_name}"
325     fi
326     report_file="report.${report_format}"
327
328     test_report_dir="TestReport/${report_format}/${report_dir}"
329     test_report_file="${test_report_dir}/${report_file}"
330
331     rm -rf "${test_report_dir}"
332     mkdir -p "${test_report_dir}"
333
334     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
335
336     #Setting Proper Location for UnitTest XML report generation
337     unittest_report_dir="UnitTestReport/${report_dir}"
338     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
339         rm -rf "${unittest_report_dir}"
340         mkdir -p "${unittest_report_dir}"
341         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
342     fi
343
344     tests_list=(
345                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/easy-setup/enrollee/unittests/easysetup_enrollee_test"
346                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/easy-setup/mediator/richsdk/unittests/easysetup_mediator_test"
347                );
348
349     for exe in ${tests_list[@]}; do
350         filename=$(basename -- "${exe}")
351         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
352             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
353         fi
354         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
355     done
356
357     unset tests_list
358
359     sleep 1
360
361     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
362
363     # Printing Unit Test Report Location
364     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
365         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
366     fi
367
368     gcovr -r . \
369         -e ".sconf_temp*" \
370         -e "examples.OICMiddle" \
371         -e "extlibs.*" \
372         -e "extlibs.hippomocks-master.*" \
373         -e "extlibs.rapidxml.*" \
374         -e "out.linux.*" \
375         -e "plugins.*" \
376         -e "resource.csdk.connectivity.lib.*" \
377         -e "resource.csdk.connectivity.samples.linux.*" \
378         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
379         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
380         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
381         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
382         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
383         -e "resource.csdk.connectivity.test.*" \
384         -e "resource.csdk.logger.*" \
385         -e "resource.src.*" \
386         -e "resource.csdk.security.provisioning.include.*" \
387         -e "resource.csdk.security.provisioning.sample.*" \
388         -e "resource.csdk.security.provisioning.src.cloud.*" \
389         -e "resource.csdk.security.provisioning.unittest.*" \
390         -e "resource.csdk.security.unittest.*" \
391         -e "resource.csdk.stack.*" \
392         -e "resource.examples.*" \
393         -e "resource.unittests.*" \
394         -e "resource.include.*" \
395         -e "resource.oc_logger.*" \
396         -e "resource.provisioning.examples.*" \
397         -e "resource.provisioning.unittests.*" \
398         -e "resource.csdk.connectivity.common.src.logger.c.*" \
399         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
400         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
401         -e "service.resource-encapsulation.include.*" \
402         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
403         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
404         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
405         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
406         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
407         -e "service.resource-encapsulation.unittest.*" \
408         -e "service.resource-hosting.src.unittest.*" \
409         -e "service.resource-hosting.SampleApp.*" \
410         -e "service.things-manager.*" \
411         -e "service.notification.unittest.*" \
412         -e "service.easy-setup.unittest.*" \
413         -e "service.easy-setup.sample.*" \
414         -e "service.easy-setup.mediator.csdk.unittests.*" \
415         -e "service.easy-setup.mediator.richsdk.unittests.*" \
416         -e "service.easy-setup.enrollee.unittest.*" \
417         -e "service.resource-container.examples.*" \
418         -e "service.resource-container.unittests." \
419         -e "service.resource-container.bundle-api." \
420         -e "service.resource-encapsulation.examples.*" \
421         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
422         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
423         -e "service.resource-encapsulation.src.resourceCache.unittest." \
424         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
425         -e "service.resource-encapsulation.unittest." \
426         -e "service.resource-encapsulation.src.common.utils.*" \
427         -e "service.things-manager.sampleapp.*" \
428         -e "service.resource-hosting.unittest" \
429         -e "resource.c_common.oic_string.test.*" \
430         -e "service.notification.unittests.*" \
431         -e "service.notification.cpp-wrapper.unittest.*" \
432         -e "resource.c_common.*" \
433         -e "service.resource-directory.samples.*" \
434         -e "resource.csdk.security.src.*" \
435         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
436         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
437         -e "service.scene-manager.sampleapp.*" \
438         -e "service.scene-manager.unittests.*" \
439         -e "service.coap-http-proxy.unittests.*" \
440         -e "resource.*" \
441         -e "service.notification.*" \
442         -e "service.resource-encapsulation.*" \
443         -e "service.scene-manager.*" \
444         -e "service.coap-http-proxy.*" \
445         ${report_flags} -o ${test_report_file}
446
447     if [  $? -eq 0 ]; then
448         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
449         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
450     else
451         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
452     fi
453 }
454
455 generate_report_RE()
456 {
457     # Setting Parameters
458     if [ "yes" = ${USE_TIMESTAMP} ]; then
459         report_dir="${module_name}_${time_stamp}"
460     else
461         report_dir="${module_name}"
462     fi
463     report_file="report.${report_format}"
464     test_report_dir="TestReport/${report_format}/${report_dir}"
465     test_report_file="${test_report_dir}/${report_file}"
466
467     rm -rf "${test_report_dir}"
468     mkdir -p "${test_report_dir}"
469
470     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
471
472     #Setting Proper Location for UnitTest XML report generation
473     unittest_report_dir="UnitTestReport/${report_dir}"
474     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
475         rm -rf "${unittest_report_dir}"
476         mkdir -p "${unittest_report_dir}"
477         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
478     fi
479
480     tests_list=(
481                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/serverBuilder/rcs_server_test"
482                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/common/rcs_common_test"
483                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/resourceCache/unittests/cache_test"
484                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/resourceBroker/unittest/broker_test"
485                );
486
487     for exe in ${tests_list[@]}; do
488         filename=$(basename -- "${exe}")
489         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
490             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
491         fi
492         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
493     done
494
495     unset tests_list
496
497     sleep 1
498
499     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
500
501     # Printing Unit Test Report Location
502     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
503         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
504     fi
505
506     gcovr -r . \
507         -e ".sconf_temp*" \
508         -e "examples.OICMiddle" \
509         -e "extlibs.*" \
510         -e "extlibs.hippomocks-master.*" \
511         -e "extlibs.rapidxml.*" \
512         -e "out.linux.*" \
513         -e "plugins.*" \
514         -e "resource.csdk.connectivity.lib.*" \
515         -e "resource.csdk.connectivity.samples.linux.*" \
516         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
517         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
518         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
519         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
520         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
521         -e "resource.csdk.connectivity.test.*" \
522         -e "resource.csdk.logger.*" \
523         -e "resource.src.*" \
524         -e "resource.csdk.security.provisioning.include.*" \
525         -e "resource.csdk.security.provisioning.sample.*" \
526         -e "resource.csdk.security.provisioning.src.cloud.*" \
527         -e "resource.csdk.security.provisioning.unittest.*" \
528         -e "resource.csdk.security.unittest.*" \
529         -e "resource.csdk.stack.*" \
530         -e "resource.examples.*" \
531         -e "resource.unittests.*" \
532         -e "resource.include.*" \
533         -e "resource.oc_logger.*" \
534         -e "resource.provisioning.examples.*" \
535         -e "resource.provisioning.unittests.*" \
536         -e "resource.csdk.connectivity.common.src.logger.c.*" \
537         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
538         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
539         -e "service.resource-encapsulation.include.*" \
540         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
541         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
542         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
543         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
544         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
545         -e "service.resource-encapsulation.unittest.*" \
546         -e "service.resource-hosting.src.unittest.*" \
547         -e "service.resource-hosting.SampleApp.*" \
548         -e "service.things-manager.*" \
549         -e "service.notification.unittest.*" \
550         -e "service.easy-setup.unittest.*" \
551         -e "service.easy-setup.sample.*" \
552         -e "service.easy-setup.mediator.csdk.unittests.*" \
553         -e "service.easy-setup.mediator.richsdk.unittests.*" \
554         -e "service.easy-setup.enrollee.unittest.*" \
555         -e "service.resource-container.examples.*" \
556         -e "service.resource-container.unittests." \
557         -e "service.resource-container.bundle-api." \
558         -e "service.resource-encapsulation.examples.*" \
559         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
560         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
561         -e "service.resource-encapsulation.src.resourceCache.unittest." \
562         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
563         -e "service.resource-encapsulation.unittest." \
564         -e "service.resource-encapsulation.src.common.utils.*" \
565         -e "service.things-manager.sampleapp.*" \
566         -e "service.resource-hosting.unittest" \
567         -e "resource.c_common.oic_string.test.*" \
568         -e "service.notification.unittests.*" \
569         -e "service.notification.cpp-wrapper.unittest.*" \
570         -e "resource.c_common.*" \
571         -e "service.resource-directory.samples.*" \
572         -e "resource.csdk.security.src.*" \
573         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
574         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
575         -e "service.scene-manager.sampleapp.*" \
576         -e "service.scene-manager.unittests.*" \
577         -e "service.coap-http-proxy.unittests.*" \
578         -e "resource.*" \
579         -e "service.easy-setup.*" \
580         -e "service.notification.*" \
581         -e "service.scene-manager.*" \
582         -e "service.coap-http-proxy.*" \
583         ${report_flags} -o ${test_report_file}
584
585     if [  $? -eq 0 ]; then
586         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
587         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
588     else
589         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
590     fi
591 }
592
593 generate_report_SM()
594 {
595     # Setting Parameters
596     if [ "yes" = ${USE_TIMESTAMP} ]; then
597         report_dir="${module_name}_${time_stamp}"
598     else
599         report_dir="${module_name}"
600     fi
601     report_file="report.${report_format}"
602     test_report_dir="TestReport/${report_format}/${report_dir}"
603     test_report_file="${test_report_dir}/${report_file}"
604
605     rm -rf "${test_report_dir}"
606     mkdir -p "${test_report_dir}"
607
608     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
609
610     #Setting Proper Location for UnitTest XML report generation
611     unittest_report_dir="UnitTestReport/${report_dir}"
612     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
613         rm -rf "${unittest_report_dir}"
614         mkdir -p "${unittest_report_dir}"
615         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
616     fi
617
618     tests_list=(
619                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_action_test"
620                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_col_test"
621                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_list_test"
622                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_test"
623                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_action_test"
624                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_collection_test"
625                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_list_test"
626                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_test"
627                );
628
629     for exe in ${tests_list[@]}; do
630         filename=$(basename -- "${exe}")
631         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
632             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
633         fi
634         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
635     done
636
637     unset tests_list
638
639     sleep 1
640
641     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
642
643     # Printing Unit Test Report Location
644     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
645         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
646     fi
647
648     gcovr -r . \
649         -e ".sconf_temp*" \
650         -e "examples.OICMiddle" \
651         -e "extlibs.*" \
652         -e "extlibs.hippomocks-master.*" \
653         -e "extlibs.rapidxml.*" \
654         -e "out.linux.*" \
655         -e "plugins.*" \
656         -e "resource.csdk.connectivity.lib.*" \
657         -e "resource.csdk.connectivity.samples.linux.*" \
658         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
659         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
660         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
661         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
662         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
663         -e "resource.csdk.connectivity.test.*" \
664         -e "resource.csdk.logger.*" \
665         -e "resource.src.*" \
666         -e "resource.csdk.security.provisioning.include.*" \
667         -e "resource.csdk.security.provisioning.sample.*" \
668         -e "resource.csdk.security.provisioning.src.cloud.*" \
669         -e "resource.csdk.security.provisioning.unittest.*" \
670         -e "resource.csdk.security.unittest.*" \
671         -e "resource.csdk.stack.*" \
672         -e "resource.examples.*" \
673         -e "resource.unittests.*" \
674         -e "resource.include.*" \
675         -e "resource.oc_logger.*" \
676         -e "resource.provisioning.examples.*" \
677         -e "resource.provisioning.unittests.*" \
678         -e "resource.csdk.connectivity.common.src.logger.c.*" \
679         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
680         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
681         -e "service.resource-encapsulation.include.*" \
682         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
683         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
684         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
685         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
686         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
687         -e "service.resource-encapsulation.unittest.*" \
688         -e "service.resource-hosting.src.unittest.*" \
689         -e "service.resource-hosting.SampleApp.*" \
690         -e "service.things-manager.*" \
691         -e "service.notification.unittest.*" \
692         -e "service.easy-setup.unittest.*" \
693         -e "service.easy-setup.sample.*" \
694         -e "service.easy-setup.mediator.csdk.unittests.*" \
695         -e "service.easy-setup.mediator.richsdk.unittests.*" \
696         -e "service.easy-setup.enrollee.unittest.*" \
697         -e "service.resource-container.examples.*" \
698         -e "service.resource-container.unittests." \
699         -e "service.resource-container.bundle-api." \
700         -e "service.resource-encapsulation.examples.*" \
701         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
702         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
703         -e "service.resource-encapsulation.src.resourceCache.unittest." \
704         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
705         -e "service.resource-encapsulation.unittest." \
706         -e "service.resource-encapsulation.src.common.utils.*" \
707         -e "service.things-manager.sampleapp.*" \
708         -e "service.resource-hosting.unittest" \
709         -e "resource.c_common.oic_string.test.*" \
710         -e "service.notification.unittests.*" \
711         -e "service.notification.cpp-wrapper.unittest.*" \
712         -e "resource.c_common.*" \
713         -e "service.resource-directory.samples.*" \
714         -e "resource.csdk.security.src.*" \
715         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
716         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
717         -e "service.scene-manager.sampleapp.*" \
718         -e "service.scene-manager.unittests.*" \
719         -e "service.coap-http-proxy.unittests.*" \
720         -e "resource.*" \
721         -e "service.easy-setup.*" \
722         -e "service.notification.*" \
723         -e "service.resource-encapsulation.*" \
724         -e "service.coap-http-proxy.*" \
725         ${report_flags} -o ${test_report_file}
726
727     if [  $? -eq 0 ]; then
728         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
729         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
730     else
731         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
732     fi
733 }
734
735 generate_report_NS()
736 {
737     # Setting Parameters
738     if [ "yes" = ${USE_TIMESTAMP} ]; then
739         report_dir="${module_name}_${time_stamp}"
740     else
741         report_dir="${module_name}"
742     fi
743     report_file="report.${report_format}"
744     test_report_dir="TestReport/${report_format}/${report_dir}"
745     test_report_file="${test_report_dir}/${report_file}"
746
747     rm -rf "${test_report_dir}"
748     mkdir -p "${test_report_dir}"
749
750     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
751
752     #Setting Proper Location for UnitTest XML report generation
753     unittest_report_dir="UnitTestReport/${report_dir}"
754     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
755         rm -rf "${unittest_report_dir}"
756         mkdir -p "${unittest_report_dir}"
757         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
758     fi
759
760     tests_list=(
761                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/unittest/notification_consumer_test"
762                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/unittest/notification_provider_test"
763                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/cpp-wrapper/unittest/notification_consumer_wrapper_test"
764                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/cpp-wrapper/unittest/notification_provider_wrapper_test"
765                );
766
767     for exe in ${tests_list[@]}; do
768         filename=$(basename -- "${exe}")
769         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
770             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
771         fi
772         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
773     done
774
775     unset tests_list
776
777     sleep 1
778
779     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
780
781     # Printing Unit Test Report Location
782     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
783         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
784     fi
785
786     gcovr -r . \
787         -e ".sconf_temp*" \
788         -e "examples.OICMiddle" \
789         -e "extlibs.*" \
790         -e "extlibs.hippomocks-master.*" \
791         -e "extlibs.rapidxml.*" \
792         -e "out.linux.*" \
793         -e "plugins.*" \
794         -e "resource.csdk.connectivity.lib.*" \
795         -e "resource.csdk.connectivity.samples.linux.*" \
796         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
797         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
798         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
799         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
800         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
801         -e "resource.csdk.connectivity.test.*" \
802         -e "resource.csdk.logger.*" \
803         -e "resource.src.*" \
804         -e "resource.csdk.security.provisioning.include.*" \
805         -e "resource.csdk.security.provisioning.sample.*" \
806         -e "resource.csdk.security.provisioning.src.cloud.*" \
807         -e "resource.csdk.security.provisioning.unittest.*" \
808         -e "resource.csdk.security.unittest.*" \
809         -e "resource.csdk.stack.*" \
810         -e "resource.examples.*" \
811         -e "resource.unittests.*" \
812         -e "resource.include.*" \
813         -e "resource.oc_logger.*" \
814         -e "resource.provisioning.examples.*" \
815         -e "resource.provisioning.unittests.*" \
816         -e "resource.csdk.connectivity.common.src.logger.c.*" \
817         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
818         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
819         -e "service.resource-encapsulation.include.*" \
820         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
821         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
822         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
823         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
824         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
825         -e "service.resource-encapsulation.unittest.*" \
826         -e "service.resource-hosting.src.unittest.*" \
827         -e "service.resource-hosting.SampleApp.*" \
828         -e "service.things-manager.*" \
829         -e "service.notification.unittest.*" \
830         -e "service.easy-setup.unittest.*" \
831         -e "service.easy-setup.sample.*" \
832         -e "service.easy-setup.mediator.csdk.unittests.*" \
833         -e "service.easy-setup.mediator.richsdk.unittests.*" \
834         -e "service.easy-setup.enrollee.unittest.*" \
835         -e "service.resource-container.examples.*" \
836         -e "service.resource-container.unittests." \
837         -e "service.resource-container.bundle-api." \
838         -e "service.resource-encapsulation.examples.*" \
839         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
840         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
841         -e "service.resource-encapsulation.src.resourceCache.unittest." \
842         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
843         -e "service.resource-encapsulation.unittest." \
844         -e "service.resource-encapsulation.src.common.utils.*" \
845         -e "service.things-manager.sampleapp.*" \
846         -e "service.resource-hosting.unittest" \
847         -e "resource.c_common.oic_string.test.*" \
848         -e "service.notification.unittests.*" \
849         -e "service.notification.cpp-wrapper.unittest.*" \
850         -e "resource.c_common.*" \
851         -e "service.resource-directory.samples.*" \
852         -e "resource.csdk.security.src.*" \
853         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
854         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
855         -e "service.scene-manager.sampleapp.*" \
856         -e "service.scene-manager.unittests.*" \
857         -e "service.coap-http-proxy.unittests.*" \
858         -e "resource.*" \
859         -e "service.easy-setup.*" \
860         -e "service.resource-encapsulation.*" \
861         -e "service.scene-manager.*" \
862         -e "service.coap-http-proxy.*" \
863         -e "service.notification.cpp-wrapper.provider.inc.*" \
864         -e "service.notification.cpp-wrapper.consumer.inc.*" \
865         ${report_flags} -o ${test_report_file}
866
867     if [  $? -eq 0 ]; then
868         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
869         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
870     else
871         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
872     fi
873 }
874
875 generate_report_CHP()
876 {
877     # Setting Parameters
878     if [ "yes" = ${USE_TIMESTAMP} ]; then
879         report_dir="${module_name}_${time_stamp}"
880     else
881         report_dir="${module_name}"
882     fi
883
884     report_file="report.${report_format}"
885     test_report_dir="TestReport/${report_format}/${report_dir}"
886     test_report_file="${test_report_dir}/${report_file}"
887
888     rm -rf "${test_report_dir}"
889     mkdir -p "${test_report_dir}"
890
891     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
892
893     #Setting Proper Location for UnitTest XML report generation
894     unittest_report_dir="UnitTestReport/${report_dir}"
895     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
896         rm -rf "${unittest_report_dir}"
897         mkdir -p "${unittest_report_dir}"
898         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
899     fi
900
901     tests_list=(
902                "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/coap-http-proxy/unittests/CoAP_unit_test"
903                );
904
905     for exe in ${tests_list[@]}; do
906         filename=$(basename -- "${exe}")
907         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
908             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
909         fi
910         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
911     done
912
913     unset tests_list
914
915     sleep 1
916
917     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
918
919     # Printing Unit Test Report Location
920     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
921         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
922     fi
923
924     gcovr -r . \
925         -e ".sconf_temp*" \
926         -e "examples.OICMiddle" \
927         -e "extlibs.*" \
928         -e "extlibs.hippomocks-master.*" \
929         -e "extlibs.rapidxml.*" \
930         -e "out.linux.*" \
931         -e "plugins.*" \
932         -e "resource.csdk.connectivity.lib.*" \
933         -e "resource.csdk.connectivity.samples.linux.*" \
934         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
935         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
936         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
937         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
938         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
939         -e "resource.csdk.connectivity.test.*" \
940         -e "resource.csdk.logger.*" \
941         -e "resource.src.*" \
942         -e "resource.csdk.security.provisioning.include.*" \
943         -e "resource.csdk.security.provisioning.sample.*" \
944         -e "resource.csdk.security.provisioning.src.cloud.*" \
945         -e "resource.csdk.security.provisioning.unittest.*" \
946         -e "resource.csdk.security.unittest.*" \
947         -e "resource.csdk.stack.*" \
948         -e "resource.examples.*" \
949         -e "resource.unittests.*" \
950         -e "resource.include.*" \
951         -e "resource.oc_logger.*" \
952         -e "resource.provisioning.examples.*" \
953         -e "resource.provisioning.unittests.*" \
954         -e "resource.csdk.connectivity.common.src.logger.c.*" \
955         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
956         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
957         -e "service.resource-encapsulation.include.*" \
958         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
959         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
960         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
961         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
962         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
963         -e "service.resource-encapsulation.unittest.*" \
964         -e "service.resource-hosting.src.unittest.*" \
965         -e "service.resource-hosting.SampleApp.*" \
966         -e "service.things-manager.*" \
967         -e "service.notification.unittest.*" \
968         -e "service.easy-setup.unittest.*" \
969         -e "service.easy-setup.sample.*" \
970         -e "service.easy-setup.mediator.csdk.unittests.*" \
971         -e "service.easy-setup.mediator.richsdk.unittests.*" \
972         -e "service.easy-setup.enrollee.unittest.*" \
973         -e "service.resource-container.examples.*" \
974         -e "service.resource-container.unittests." \
975         -e "service.resource-container.bundle-api." \
976         -e "service.resource-encapsulation.examples.*" \
977         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
978         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
979         -e "service.resource-encapsulation.src.resourceCache.unittest." \
980         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
981         -e "service.resource-encapsulation.unittest." \
982         -e "service.resource-encapsulation.src.common.utils.*" \
983         -e "service.things-manager.sampleapp.*" \
984         -e "service.resource-hosting.unittest" \
985         -e "resource.c_common.oic_string.test.*" \
986         -e "service.notification.unittests.*" \
987         -e "service.notification.cpp-wrapper.unittest.*" \
988         -e "resource.c_common.*" \
989         -e "service.resource-directory.samples.*" \
990         -e "resource.csdk.security.src.*" \
991         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
992         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
993         -e "service.scene-manager.sampleapp.*" \
994         -e "service.scene-manager.unittests.*" \
995         -e "service.coap-http-proxy.unittests.*" \
996         -e "resource.*" \
997         -e "service.easy-setup.*" \
998         -e "service.notification.*" \
999         -e "service.resource-encapsulation.*" \
1000         -e "service.scene-manager.*" \
1001         ${report_flags} -o ${test_report_file}
1002
1003     if [  $? -eq 0 ]; then
1004         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
1005         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
1006     else
1007         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
1008     fi
1009 }
1010
1011 generate_report()
1012 {
1013     case ${module_name} in
1014         CA)
1015             generate_report_CA
1016             ;;
1017         ES)
1018             generate_report_ES
1019             ;;
1020         RE)
1021             generate_report_RE
1022             ;;
1023         SM)
1024             generate_report_SM
1025             ;;
1026         NS)
1027             generate_report_NS
1028             ;;
1029         CHP)
1030             generate_report_CHP
1031             ;;
1032         ALL)
1033             module_name="ES"
1034             generate_report_ES
1035             module_name="RE"
1036             generate_report_RE
1037             module_name="SM"
1038             generate_report_SM
1039             module_name="NS"
1040             generate_report_NS
1041             module_name="CHP"
1042             generate_report_CHP
1043             module_name="CA"
1044             generate_report_CA
1045             ;;
1046     esac
1047 }
1048
1049 process_cmd_args "$@"
1050 generate_report