Observation without caching.
[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                );
204
205     for exe in ${tests_list[@]}; do
206         filename=$(basename -- "${exe}")
207         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
208             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
209         fi
210         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
211     done
212
213     unset tests_list
214
215     sleep 1
216
217     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
218
219     # Printing Unit Test Report Location
220     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
221         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
222     fi
223
224     gcovr -r . \
225         -e ".sconf_temp*" \
226         -e "examples.OICMiddle" \
227         -e "extlibs.*" \
228         -e "extlibs.hippomocks-master.*" \
229         -e "extlibs.rapidxml.*" \
230         -e "out.linux.*" \
231         -e "plugins.*" \
232         -e "resource.csdk.connectivity.lib.*" \
233         -e "resource.csdk.connectivity.samples.linux.*" \
234         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
235         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
236         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
237         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
238         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
239         -e "resource.csdk.connectivity.test.*" \
240         -e "resource.csdk.logger.*" \
241         -e "resource.src.*" \
242         -e "resource.csdk.security.provisioning.include.*" \
243         -e "resource.csdk.security.provisioning.sample.*" \
244         -e "resource.csdk.security.provisioning.src.cloud.*" \
245         -e "resource.csdk.security.provisioning.unittest.*" \
246         -e "resource.csdk.security.unittest.*" \
247         -e "resource.csdk.stack.*" \
248         -e "resource.examples.*" \
249         -e "resource.unittests.*" \
250         -e "resource.include.*" \
251         -e "resource.oc_logger.*" \
252         -e "resource.provisioning.examples.*" \
253         -e "resource.provisioning.unittests.*" \
254         -e "resource.csdk.connectivity.common.src.logger.c.*" \
255         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
256         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
257         -e "service.resource-encapsulation.include.*" \
258         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
259         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
260         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
261         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
262         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
263         -e "service.resource-encapsulation.unittest.*" \
264         -e "service.resource-hosting.src.unittest.*" \
265         -e "service.resource-hosting.SampleApp.*" \
266         -e "service.things-manager.*" \
267         -e "service.notification.unittest.*" \
268         -e "service.easy-setup.unittest.*" \
269         -e "service.easy-setup.sample.*" \
270         -e "service.easy-setup.mediator.csdk.unittests.*" \
271         -e "service.easy-setup.mediator.richsdk.unittests.*" \
272         -e "service.easy-setup.enrollee.unittest.*" \
273         -e "service.resource-container.examples.*" \
274         -e "service.resource-container.unittests." \
275         -e "service.resource-container.bundle-api." \
276         -e "service.resource-encapsulation.examples.*" \
277         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
278         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
279         -e "service.resource-encapsulation.src.resourceCache.unittest." \
280         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
281         -e "service.resource-encapsulation.unittest." \
282         -e "service.resource-encapsulation.src.common.utils.*" \
283         -e "service.things-manager.sampleapp.*" \
284         -e "service.resource-hosting.unittest" \
285         -e "resource.c_common.oic_string.test.*" \
286         -e "service.notification.unittests.*" \
287         -e "service.notification.cpp-wrapper.unittest.*" \
288         -e "resource.c_common.*" \
289         -e "service.resource-directory.samples.*" \
290         -e "resource.csdk.security.src.*" \
291         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
292         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
293         -e "service.scene-manager.sampleapp.*" \
294         -e "service.scene-manager.unittests.*" \
295         -e "service.coap-http-proxy.unittests.*" \
296         -e "service.*" \
297         -e "resource.csdk.security.*" \
298         -e "resource.csdk.resource-directory.*" \
299         -e "resource.csdk.routing.*" \
300         -e "resource.csdk.include.*" \
301         ${report_flags} -o ${test_report_file}
302
303     if [  $? -eq 0 ]; then
304         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
305         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
306     else
307         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
308     fi
309 }
310
311 generate_report_ES()
312 {
313     # Setting Parameters
314     if [ "yes" = ${USE_TIMESTAMP} ]; then
315         report_dir="${module_name}_${time_stamp}"
316     else
317         report_dir="${module_name}"
318     fi
319     report_file="report.${report_format}"
320
321     test_report_dir="TestReport/${report_format}/${report_dir}"
322     test_report_file="${test_report_dir}/${report_file}"
323
324     rm -rf "${test_report_dir}"
325     mkdir -p "${test_report_dir}"
326
327     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
328
329     #Setting Proper Location for UnitTest XML report generation
330     unittest_report_dir="UnitTestReport/${report_dir}"
331     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
332         rm -rf "${unittest_report_dir}"
333         mkdir -p "${unittest_report_dir}"
334         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
335     fi
336
337     tests_list=(
338                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/easy-setup/enrollee/unittests/easysetup_enrollee_test"
339                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/easy-setup/mediator/richsdk/unittests/easysetup_mediator_test"
340                );
341
342     for exe in ${tests_list[@]}; do
343         filename=$(basename -- "${exe}")
344         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
345             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
346         fi
347         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
348     done
349
350     unset tests_list
351
352     sleep 1
353
354     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
355
356     # Printing Unit Test Report Location
357     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
358         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
359     fi
360
361     gcovr -r . \
362         -e ".sconf_temp*" \
363         -e "examples.OICMiddle" \
364         -e "extlibs.*" \
365         -e "extlibs.hippomocks-master.*" \
366         -e "extlibs.rapidxml.*" \
367         -e "out.linux.*" \
368         -e "plugins.*" \
369         -e "resource.csdk.connectivity.lib.*" \
370         -e "resource.csdk.connectivity.samples.linux.*" \
371         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
372         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
373         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
374         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
375         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
376         -e "resource.csdk.connectivity.test.*" \
377         -e "resource.csdk.logger.*" \
378         -e "resource.src.*" \
379         -e "resource.csdk.security.provisioning.include.*" \
380         -e "resource.csdk.security.provisioning.sample.*" \
381         -e "resource.csdk.security.provisioning.src.cloud.*" \
382         -e "resource.csdk.security.provisioning.unittest.*" \
383         -e "resource.csdk.security.unittest.*" \
384         -e "resource.csdk.stack.*" \
385         -e "resource.examples.*" \
386         -e "resource.unittests.*" \
387         -e "resource.include.*" \
388         -e "resource.oc_logger.*" \
389         -e "resource.provisioning.examples.*" \
390         -e "resource.provisioning.unittests.*" \
391         -e "resource.csdk.connectivity.common.src.logger.c.*" \
392         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
393         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
394         -e "service.resource-encapsulation.include.*" \
395         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
396         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
397         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
398         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
399         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
400         -e "service.resource-encapsulation.unittest.*" \
401         -e "service.resource-hosting.src.unittest.*" \
402         -e "service.resource-hosting.SampleApp.*" \
403         -e "service.things-manager.*" \
404         -e "service.notification.unittest.*" \
405         -e "service.easy-setup.unittest.*" \
406         -e "service.easy-setup.sample.*" \
407         -e "service.easy-setup.mediator.csdk.unittests.*" \
408         -e "service.easy-setup.mediator.richsdk.unittests.*" \
409         -e "service.easy-setup.enrollee.unittest.*" \
410         -e "service.resource-container.examples.*" \
411         -e "service.resource-container.unittests." \
412         -e "service.resource-container.bundle-api." \
413         -e "service.resource-encapsulation.examples.*" \
414         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
415         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
416         -e "service.resource-encapsulation.src.resourceCache.unittest." \
417         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
418         -e "service.resource-encapsulation.unittest." \
419         -e "service.resource-encapsulation.src.common.utils.*" \
420         -e "service.things-manager.sampleapp.*" \
421         -e "service.resource-hosting.unittest" \
422         -e "resource.c_common.oic_string.test.*" \
423         -e "service.notification.unittests.*" \
424         -e "service.notification.cpp-wrapper.unittest.*" \
425         -e "resource.c_common.*" \
426         -e "service.resource-directory.samples.*" \
427         -e "resource.csdk.security.src.*" \
428         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
429         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
430         -e "service.scene-manager.sampleapp.*" \
431         -e "service.scene-manager.unittests.*" \
432         -e "service.coap-http-proxy.unittests.*" \
433         -e "resource.*" \
434         -e "service.notification.*" \
435         -e "service.resource-encapsulation.*" \
436         -e "service.scene-manager.*" \
437         -e "service.coap-http-proxy.*" \
438         ${report_flags} -o ${test_report_file}
439
440     if [  $? -eq 0 ]; then
441         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
442         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
443     else
444         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
445     fi
446 }
447
448 generate_report_RE()
449 {
450     # Setting Parameters
451     if [ "yes" = ${USE_TIMESTAMP} ]; then
452         report_dir="${module_name}_${time_stamp}"
453     else
454         report_dir="${module_name}"
455     fi
456     report_file="report.${report_format}"
457     test_report_dir="TestReport/${report_format}/${report_dir}"
458     test_report_file="${test_report_dir}/${report_file}"
459
460     rm -rf "${test_report_dir}"
461     mkdir -p "${test_report_dir}"
462
463     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
464
465     #Setting Proper Location for UnitTest XML report generation
466     unittest_report_dir="UnitTestReport/${report_dir}"
467     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
468         rm -rf "${unittest_report_dir}"
469         mkdir -p "${unittest_report_dir}"
470         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
471     fi
472
473     tests_list=(
474                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/serverBuilder/rcs_server_test"
475                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/unittests/rcs_client_test"
476                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/common/primitiveResource/unittests/rcs_common_test"
477                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/resourceCache/unittests/cache_test"
478                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/resource-encapsulation/src/resourceBroker/unittest/broker_test"
479                );
480
481     for exe in ${tests_list[@]}; do
482         filename=$(basename -- "${exe}")
483         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
484             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
485         fi
486         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
487     done
488
489     unset tests_list
490
491     sleep 1
492
493     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
494
495     # Printing Unit Test Report Location
496     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
497         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
498     fi
499
500     gcovr -r . \
501         -e ".sconf_temp*" \
502         -e "examples.OICMiddle" \
503         -e "extlibs.*" \
504         -e "extlibs.hippomocks-master.*" \
505         -e "extlibs.rapidxml.*" \
506         -e "out.linux.*" \
507         -e "plugins.*" \
508         -e "resource.csdk.connectivity.lib.*" \
509         -e "resource.csdk.connectivity.samples.linux.*" \
510         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
511         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
512         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
513         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
514         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
515         -e "resource.csdk.connectivity.test.*" \
516         -e "resource.csdk.logger.*" \
517         -e "resource.src.*" \
518         -e "resource.csdk.security.provisioning.include.*" \
519         -e "resource.csdk.security.provisioning.sample.*" \
520         -e "resource.csdk.security.provisioning.src.cloud.*" \
521         -e "resource.csdk.security.provisioning.unittest.*" \
522         -e "resource.csdk.security.unittest.*" \
523         -e "resource.csdk.stack.*" \
524         -e "resource.examples.*" \
525         -e "resource.unittests.*" \
526         -e "resource.include.*" \
527         -e "resource.oc_logger.*" \
528         -e "resource.provisioning.examples.*" \
529         -e "resource.provisioning.unittests.*" \
530         -e "resource.csdk.connectivity.common.src.logger.c.*" \
531         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
532         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
533         -e "service.resource-encapsulation.include.*" \
534         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
535         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
536         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
537         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
538         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
539         -e "service.resource-encapsulation.unittest.*" \
540         -e "service.resource-hosting.src.unittest.*" \
541         -e "service.resource-hosting.SampleApp.*" \
542         -e "service.things-manager.*" \
543         -e "service.notification.unittest.*" \
544         -e "service.easy-setup.unittest.*" \
545         -e "service.easy-setup.sample.*" \
546         -e "service.easy-setup.mediator.csdk.unittests.*" \
547         -e "service.easy-setup.mediator.richsdk.unittests.*" \
548         -e "service.easy-setup.enrollee.unittest.*" \
549         -e "service.resource-container.examples.*" \
550         -e "service.resource-container.unittests." \
551         -e "service.resource-container.bundle-api." \
552         -e "service.resource-encapsulation.examples.*" \
553         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
554         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
555         -e "service.resource-encapsulation.src.resourceCache.unittest." \
556         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
557         -e "service.resource-encapsulation.unittest." \
558         -e "service.resource-encapsulation.src.common.utils.*" \
559         -e "service.things-manager.sampleapp.*" \
560         -e "service.resource-hosting.unittest" \
561         -e "resource.c_common.oic_string.test.*" \
562         -e "service.notification.unittests.*" \
563         -e "service.notification.cpp-wrapper.unittest.*" \
564         -e "resource.c_common.*" \
565         -e "service.resource-directory.samples.*" \
566         -e "resource.csdk.security.src.*" \
567         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
568         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
569         -e "service.scene-manager.sampleapp.*" \
570         -e "service.scene-manager.unittests.*" \
571         -e "service.coap-http-proxy.unittests.*" \
572         -e "resource.*" \
573         -e "service.easy-setup.*" \
574         -e "service.notification.*" \
575         -e "service.scene-manager.*" \
576         -e "service.coap-http-proxy.*" \
577         ${report_flags} -o ${test_report_file}
578
579     if [  $? -eq 0 ]; then
580         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
581         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
582     else
583         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
584     fi
585 }
586
587 generate_report_SM()
588 {
589     # Setting Parameters
590     if [ "yes" = ${USE_TIMESTAMP} ]; then
591         report_dir="${module_name}_${time_stamp}"
592     else
593         report_dir="${module_name}"
594     fi
595     report_file="report.${report_format}"
596     test_report_dir="TestReport/${report_format}/${report_dir}"
597     test_report_file="${test_report_dir}/${report_file}"
598
599     rm -rf "${test_report_dir}"
600     mkdir -p "${test_report_dir}"
601
602     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
603
604     #Setting Proper Location for UnitTest XML report generation
605     unittest_report_dir="UnitTestReport/${report_dir}"
606     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
607         rm -rf "${unittest_report_dir}"
608         mkdir -p "${unittest_report_dir}"
609         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
610     fi
611
612     tests_list=(
613                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_action_test"
614                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_col_test"
615                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_list_test"
616                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/remote_scene_test"
617                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_action_test"
618                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_collection_test"
619                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_list_test"
620                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/scene-manager/unittests/scene_test"
621                );
622
623     for exe in ${tests_list[@]}; do
624         filename=$(basename -- "${exe}")
625         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
626             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
627         fi
628         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
629     done
630
631     unset tests_list
632
633     sleep 1
634
635     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
636
637     # Printing Unit Test Report Location
638     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
639         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
640     fi
641
642     gcovr -r . \
643         -e ".sconf_temp*" \
644         -e "examples.OICMiddle" \
645         -e "extlibs.*" \
646         -e "extlibs.hippomocks-master.*" \
647         -e "extlibs.rapidxml.*" \
648         -e "out.linux.*" \
649         -e "plugins.*" \
650         -e "resource.csdk.connectivity.lib.*" \
651         -e "resource.csdk.connectivity.samples.linux.*" \
652         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
653         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
654         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
655         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
656         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
657         -e "resource.csdk.connectivity.test.*" \
658         -e "resource.csdk.logger.*" \
659         -e "resource.src.*" \
660         -e "resource.csdk.security.provisioning.include.*" \
661         -e "resource.csdk.security.provisioning.sample.*" \
662         -e "resource.csdk.security.provisioning.src.cloud.*" \
663         -e "resource.csdk.security.provisioning.unittest.*" \
664         -e "resource.csdk.security.unittest.*" \
665         -e "resource.csdk.stack.*" \
666         -e "resource.examples.*" \
667         -e "resource.unittests.*" \
668         -e "resource.include.*" \
669         -e "resource.oc_logger.*" \
670         -e "resource.provisioning.examples.*" \
671         -e "resource.provisioning.unittests.*" \
672         -e "resource.csdk.connectivity.common.src.logger.c.*" \
673         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
674         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
675         -e "service.resource-encapsulation.include.*" \
676         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
677         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
678         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
679         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
680         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
681         -e "service.resource-encapsulation.unittest.*" \
682         -e "service.resource-hosting.src.unittest.*" \
683         -e "service.resource-hosting.SampleApp.*" \
684         -e "service.things-manager.*" \
685         -e "service.notification.unittest.*" \
686         -e "service.easy-setup.unittest.*" \
687         -e "service.easy-setup.sample.*" \
688         -e "service.easy-setup.mediator.csdk.unittests.*" \
689         -e "service.easy-setup.mediator.richsdk.unittests.*" \
690         -e "service.easy-setup.enrollee.unittest.*" \
691         -e "service.resource-container.examples.*" \
692         -e "service.resource-container.unittests." \
693         -e "service.resource-container.bundle-api." \
694         -e "service.resource-encapsulation.examples.*" \
695         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
696         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
697         -e "service.resource-encapsulation.src.resourceCache.unittest." \
698         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
699         -e "service.resource-encapsulation.unittest." \
700         -e "service.resource-encapsulation.src.common.utils.*" \
701         -e "service.things-manager.sampleapp.*" \
702         -e "service.resource-hosting.unittest" \
703         -e "resource.c_common.oic_string.test.*" \
704         -e "service.notification.unittests.*" \
705         -e "service.notification.cpp-wrapper.unittest.*" \
706         -e "resource.c_common.*" \
707         -e "service.resource-directory.samples.*" \
708         -e "resource.csdk.security.src.*" \
709         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
710         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
711         -e "service.scene-manager.sampleapp.*" \
712         -e "service.scene-manager.unittests.*" \
713         -e "service.coap-http-proxy.unittests.*" \
714         -e "resource.*" \
715         -e "service.easy-setup.*" \
716         -e "service.notification.*" \
717         -e "service.resource-encapsulation.*" \
718         -e "service.coap-http-proxy.*" \
719         ${report_flags} -o ${test_report_file}
720
721     if [  $? -eq 0 ]; then
722         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
723         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
724     else
725         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
726     fi
727 }
728
729 generate_report_NS()
730 {
731     # Setting Parameters
732     if [ "yes" = ${USE_TIMESTAMP} ]; then
733         report_dir="${module_name}_${time_stamp}"
734     else
735         report_dir="${module_name}"
736     fi
737     report_file="report.${report_format}"
738     test_report_dir="TestReport/${report_format}/${report_dir}"
739     test_report_file="${test_report_dir}/${report_file}"
740
741     rm -rf "${test_report_dir}"
742     mkdir -p "${test_report_dir}"
743
744     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
745
746     #Setting Proper Location for UnitTest XML report generation
747     unittest_report_dir="UnitTestReport/${report_dir}"
748     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
749         rm -rf "${unittest_report_dir}"
750         mkdir -p "${unittest_report_dir}"
751         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
752     fi
753
754     tests_list=(
755                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/unittest/notification_consumer_test"
756                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/unittest/notification_provider_test"
757                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/cpp-wrapper/unittest/notification_consumer_wrapper_test"
758                 "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/notification/cpp-wrapper/unittest/notification_provider_wrapper_test"
759                );
760
761     for exe in ${tests_list[@]}; do
762         filename=$(basename -- "${exe}")
763         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
764             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
765         fi
766         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
767     done
768
769     unset tests_list
770
771     sleep 1
772
773     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
774
775     # Printing Unit Test Report Location
776     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
777         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
778     fi
779
780     gcovr -r . \
781         -e ".sconf_temp*" \
782         -e "examples.OICMiddle" \
783         -e "extlibs.*" \
784         -e "extlibs.hippomocks-master.*" \
785         -e "extlibs.rapidxml.*" \
786         -e "out.linux.*" \
787         -e "plugins.*" \
788         -e "resource.csdk.connectivity.lib.*" \
789         -e "resource.csdk.connectivity.samples.linux.*" \
790         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
791         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
792         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
793         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
794         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
795         -e "resource.csdk.connectivity.test.*" \
796         -e "resource.csdk.logger.*" \
797         -e "resource.src.*" \
798         -e "resource.csdk.security.provisioning.include.*" \
799         -e "resource.csdk.security.provisioning.sample.*" \
800         -e "resource.csdk.security.provisioning.src.cloud.*" \
801         -e "resource.csdk.security.provisioning.unittest.*" \
802         -e "resource.csdk.security.unittest.*" \
803         -e "resource.csdk.stack.*" \
804         -e "resource.examples.*" \
805         -e "resource.unittests.*" \
806         -e "resource.include.*" \
807         -e "resource.oc_logger.*" \
808         -e "resource.provisioning.examples.*" \
809         -e "resource.provisioning.unittests.*" \
810         -e "resource.csdk.connectivity.common.src.logger.c.*" \
811         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
812         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
813         -e "service.resource-encapsulation.include.*" \
814         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
815         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
816         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
817         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
818         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
819         -e "service.resource-encapsulation.unittest.*" \
820         -e "service.resource-hosting.src.unittest.*" \
821         -e "service.resource-hosting.SampleApp.*" \
822         -e "service.things-manager.*" \
823         -e "service.notification.unittest.*" \
824         -e "service.easy-setup.unittest.*" \
825         -e "service.easy-setup.sample.*" \
826         -e "service.easy-setup.mediator.csdk.unittests.*" \
827         -e "service.easy-setup.mediator.richsdk.unittests.*" \
828         -e "service.easy-setup.enrollee.unittest.*" \
829         -e "service.resource-container.examples.*" \
830         -e "service.resource-container.unittests." \
831         -e "service.resource-container.bundle-api." \
832         -e "service.resource-encapsulation.examples.*" \
833         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
834         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
835         -e "service.resource-encapsulation.src.resourceCache.unittest." \
836         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
837         -e "service.resource-encapsulation.unittest." \
838         -e "service.resource-encapsulation.src.common.utils.*" \
839         -e "service.things-manager.sampleapp.*" \
840         -e "service.resource-hosting.unittest" \
841         -e "resource.c_common.oic_string.test.*" \
842         -e "service.notification.unittests.*" \
843         -e "service.notification.cpp-wrapper.unittest.*" \
844         -e "resource.c_common.*" \
845         -e "service.resource-directory.samples.*" \
846         -e "resource.csdk.security.src.*" \
847         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
848         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
849         -e "service.scene-manager.sampleapp.*" \
850         -e "service.scene-manager.unittests.*" \
851         -e "service.coap-http-proxy.unittests.*" \
852         -e "resource.*" \
853         -e "service.easy-setup.*" \
854         -e "service.resource-encapsulation.*" \
855         -e "service.scene-manager.*" \
856         -e "service.coap-http-proxy.*" \
857         -e "service.notification.cpp-wrapper.provider.inc.*" \
858         -e "service.notification.cpp-wrapper.consumer.inc.*" \
859         ${report_flags} -o ${test_report_file}
860
861     if [  $? -eq 0 ]; then
862         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
863         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
864     else
865         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
866     fi
867 }
868
869 generate_report_CHP()
870 {
871     # Setting Parameters
872     if [ "yes" = ${USE_TIMESTAMP} ]; then
873         report_dir="${module_name}_${time_stamp}"
874     else
875         report_dir="${module_name}"
876     fi
877
878     report_file="report.${report_format}"
879     test_report_dir="TestReport/${report_format}/${report_dir}"
880     test_report_file="${test_report_dir}/${report_file}"
881
882     rm -rf "${test_report_dir}"
883     mkdir -p "${test_report_dir}"
884
885     LD_LIBRARY_PATH="${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug"
886
887     #Setting Proper Location for UnitTest XML report generation
888     unittest_report_dir="UnitTestReport/${report_dir}"
889     if [ "yes" = ${UNITTEST_XML_REPORT} ]; then
890         rm -rf "${unittest_report_dir}"
891         mkdir -p "${unittest_report_dir}"
892         UNITTEST_XML_REPORT_FLAG_PREFIX="--gtest_output=xml:${unittest_report_dir}"
893     fi
894
895     tests_list=(
896                "${IOTIVITY_BASE}/out/${IOTIVITY_TARGET_OS}/${IOTIVITY_TARGET_ARCH}/debug/service/coap-http-proxy/unittests/CoAP_unit_test"
897                );
898
899     for exe in ${tests_list[@]}; do
900         filename=$(basename -- "${exe}")
901         if [ -n "${UNITTEST_XML_REPORT_FLAG_PREFIX}" ]; then
902             UNITTEST_XML_REPORT_FLAG="${UNITTEST_XML_REPORT_FLAG_PREFIX}/${filename}.xml"
903         fi
904         eval "${exe} ${UNITTEST_XML_REPORT_FLAG}"
905     done
906
907     unset tests_list
908
909     sleep 1
910
911     echo -e "Generating ${GREEN}${module_name}${NO_COLOUR} Reports"
912
913     # Printing Unit Test Report Location
914     if [  "yes" = ${UNITTEST_XML_REPORT} ]; then
915         echo -e "${GREEN}${module_name}${NO_COLOUR} UnitTest Report Location: ${BLUE}${unittest_report_dir}${NO_COLOUR}"
916     fi
917
918     gcovr -r . \
919         -e ".sconf_temp*" \
920         -e "examples.OICMiddle" \
921         -e "extlibs.*" \
922         -e "extlibs.hippomocks-master.*" \
923         -e "extlibs.rapidxml.*" \
924         -e "out.linux.*" \
925         -e "plugins.*" \
926         -e "resource.csdk.connectivity.lib.*" \
927         -e "resource.csdk.connectivity.samples.linux.*" \
928         -e "resource.csdk.security.provisioning.ck_manager.sample.*" \
929         -e "resource.csdk.security.provisioning.ck_manager.unittest.*" \
930         -e "resource.csdk.connectivity.scr.bt_edr_adapter.*" \
931         -e "resource.csdk.connectivity.src.bt_le_adapter.*" \
932         -e "resource.csdk.connectivity.src.bt_edr_adapter.*" \
933         -e "resource.csdk.connectivity.test.*" \
934         -e "resource.csdk.logger.*" \
935         -e "resource.src.*" \
936         -e "resource.csdk.security.provisioning.include.*" \
937         -e "resource.csdk.security.provisioning.sample.*" \
938         -e "resource.csdk.security.provisioning.src.cloud.*" \
939         -e "resource.csdk.security.provisioning.unittest.*" \
940         -e "resource.csdk.security.unittest.*" \
941         -e "resource.csdk.stack.*" \
942         -e "resource.examples.*" \
943         -e "resource.unittests.*" \
944         -e "resource.include.*" \
945         -e "resource.oc_logger.*" \
946         -e "resource.provisioning.examples.*" \
947         -e "resource.provisioning.unittests.*" \
948         -e "resource.csdk.connectivity.common.src.logger.c.*" \
949         -e "resource.csdk.connectivity.common.src.oic_console_logger.c.*" \
950         -e "resource.csdk.connectivity.common.src.oic_logger.c.*" \
951         -e "service.resource-encapsulation.include.*" \
952         -e "service.resource-encapsulation.src.common.expiryTimer.*" \
953         -e "service.resource-encapsulation.src.common.primitiveResource.unittests.*" \
954         -e "service.resource-encapsulation.src.resourceBroker.unittest.*" \
955         -e "service.resource-encapsulation.src.resourceCache.unittest.*" \
956         -e "service.resource-encapsulation.src.serverBuilder.unittest.*" \
957         -e "service.resource-encapsulation.unittest.*" \
958         -e "service.resource-hosting.src.unittest.*" \
959         -e "service.resource-hosting.SampleApp.*" \
960         -e "service.things-manager.*" \
961         -e "service.notification.unittest.*" \
962         -e "service.easy-setup.unittest.*" \
963         -e "service.easy-setup.sample.*" \
964         -e "service.easy-setup.mediator.csdk.unittests.*" \
965         -e "service.easy-setup.mediator.richsdk.unittests.*" \
966         -e "service.easy-setup.enrollee.unittest.*" \
967         -e "service.resource-container.examples.*" \
968         -e "service.resource-container.unittests." \
969         -e "service.resource-container.bundle-api." \
970         -e "service.resource-encapsulation.examples.*" \
971         -e "service.resource-encapsulation.src.common.primitiveResource.unittests." \
972         -e "service.resource-encapsulation.src.resourceBroker.unittest." \
973         -e "service.resource-encapsulation.src.resourceCache.unittest." \
974         -e "service.resource-encapsulation.src.serverBuilder.unittest." \
975         -e "service.resource-encapsulation.unittest." \
976         -e "service.resource-encapsulation.src.common.utils.*" \
977         -e "service.things-manager.sampleapp.*" \
978         -e "service.resource-hosting.unittest" \
979         -e "resource.c_common.oic_string.test.*" \
980         -e "service.notification.unittests.*" \
981         -e "service.notification.cpp-wrapper.unittest.*" \
982         -e "resource.c_common.*" \
983         -e "service.resource-directory.samples.*" \
984         -e "resource.csdk.security.src.*" \
985         -e "resource.csdk.connectivity.src.adapter_util.pkix.*" \
986         -e "resource.csdk.connectivity.src.adapter_util.caadapternetdtls.c" \
987         -e "service.scene-manager.sampleapp.*" \
988         -e "service.scene-manager.unittests.*" \
989         -e "service.coap-http-proxy.unittests.*" \
990         -e "resource.*" \
991         -e "service.easy-setup.*" \
992         -e "service.notification.*" \
993         -e "service.resource-encapsulation.*" \
994         -e "service.scene-manager.*" \
995         ${report_flags} -o ${test_report_file}
996
997     if [  $? -eq 0 ]; then
998         echo -e "${GREEN}${module_name}${NO_COLOUR} Coverage Report Location: ${BLUE}${test_report_file}${NO_COLOUR}"
999         echo -e "${GREEN}${module_name}${NO_COLOUR} Report Generated ${GREEN}Successfully!${NO_COLOUR}"
1000     else
1001         echo -e "${RED}${module_name}${NO_COLOUR} Report Generation ${RED}Failed!${NO_COLOUR}"
1002     fi
1003 }
1004
1005 generate_report()
1006 {
1007     case ${module_name} in
1008         CA)
1009             generate_report_CA
1010             ;;
1011         ES)
1012             generate_report_ES
1013             ;;
1014         RE)
1015             generate_report_RE
1016             ;;
1017         SM)
1018             generate_report_SM
1019             ;;
1020         NS)
1021             generate_report_NS
1022             ;;
1023         CHP)
1024             generate_report_CHP
1025             ;;
1026         ALL)
1027             module_name="ES"
1028             generate_report_ES
1029             module_name="RE"
1030             generate_report_RE
1031             module_name="SM"
1032             generate_report_SM
1033             module_name="NS"
1034             generate_report_NS
1035             module_name="CHP"
1036             generate_report_CHP
1037             module_name="CA"
1038             generate_report_CA
1039             ;;
1040     esac
1041 }
1042
1043 process_cmd_args "$@"
1044 generate_report