Add RUNNER_PERF_TEST_BEGIN() and RUNNER_PERF_TEST_END() macros for performance tests 44/18944/7 accepted/tizen_3.0.2014.q3_common accepted/tizen_3.0.m14.3_ivi accepted/tizen_3.0_common accepted/tizen_3.0_ivi accepted/tizen_common accepted/tizen_ivi accepted/tizen_mobile accepted/tizen_tv accepted/tizen_wearable tizen_3.0.2014.q3_common tizen_3.0.2014.q4_common tizen_3.0.2015.q1_common tizen_3.0.2015.q2_common tizen_3.0.m14.2_ivi tizen_3.0.m14.3_ivi tizen_3.0.m1_mobile tizen_3.0.m1_tv tizen_3.0.m2 tizen_3.0_ivi accepted/tizen/3.0/common/20161114.110355 submit/tizen_3.0_common/20161104.104000 submit/tizen_common/20140521.163740 submit/tizen_common/20140522.130648 submit/tizen_common/20140522.135644 submit/tizen_common/20151023.083358 submit/tizen_common/20151026.085049 submit/tizen_ivi/20140618.000001 submit/tizen_ivi/20140618.000004 submit/tizen_ivi/20140619.000000 submit/tizen_ivi/20140622.000000 submit/tizen_ivi/20140623.000000 submit/tizen_ivi/20140624.064036 submit/tizen_ivi/20140626.125712 submit/tizen_ivi/20140626.130032 submit/tizen_ivi/20140626.144348 submit/tizen_mobile/20141120.000000 tizen_3.0.2014.q3_common_release tizen_3.0.m14.2_ivi_release tizen_3.0.m14.3_ivi_release tizen_3.0.m1_mobile_release tizen_3.0.m1_tv_release tizen_3.0_ivi_release
authorJanusz Kozerski <j.kozerski@samsung.com>
Thu, 12 Dec 2013 10:37:41 +0000 (11:37 +0100)
committerSoo-Hyun Choi <s.choi@hackerslab.eu>
Wed, 16 Apr 2014 06:06:39 +0000 (23:06 -0700)
commit50e9c5aa5649187145571823b78a28ad28970844
treeceaac8206aaa99cf95499201977e28f5500809e5
parent765c9eb90897aa1a82a2b36e837dd90a444f1158
Add RUNNER_PERF_TEST_BEGIN() and RUNNER_PERF_TEST_END() macros for performance tests

Added RUNNER_PERF_TEST_BEGIN(max_time) and RUNNER_PERF_TEST_END() macros.
    Add both of these macros in test when you want to do the time measurement.
The first macro is used to start the time measurement, the second is used to
end the measuement. The result will be displayed if and only if the test will
pass. RUNNER_PERF_TEST_BEGIN(time), takes one parameter (type of double) - the
expected time. If the measured time will be shorter than expected then result
will be print in console in green color, otherwise the result will be print
in red. If other output method will be choosen then measured time and max time
(if defined) will be displayed. In TAP output format there is no preformance
results. If you don't want to give any param as the expected time then put 0 or
any negative value (any value <= 0) as a param (RUNNER_PERF_TEST_BEGIN(0)) and
the param will be ignored. In that case the result in console will be always
printed in white.
    The precision of measurement is 1 microsecond - the smallest time value
that can be measured is 0.000001s.

Remarks:
 * The result of time measurement will be displayed only if the test will pass.
 * Make sure that you use each of these macros at most ONCE in each test. In
      the other case the result of first measurement will be overrwriten by the
      second.
 * Make sure that you use macros in right order.
 * In case of RUNNER_MULTIPROCESS_TEST the time measurement will wokrs only if
      the macors will be used in parent process. If you will use these macros
      in the child code then you will see no result.
 * The performance results will be displayed only in these output format:
      - text
      - html
      - xml
      - csv

[Problem]  No framework for performance tests
[Cause]    N/A
[Solution] Added RUNNER_PERF_TEST_BEGIN(expected_time) and RUNNER_PERF_TEST_END()
           macros.
[Verification] Add these macros to a few passing tests and a few failing tests,
               and check if results are displayed correctly.

Change-Id: I9eebaade094fbdf1d2af34e7da2871b7307f89c6
Signed-off-by: Janusz Kozerski <j.kozerski@samsung.com>
modules/test/include/dpl/test/test_results_collector.h
modules/test/include/dpl/test/test_runner.h
modules/test/include/dpl/test/test_runner_child.h
modules/test/src/test_results_collector.cpp
modules/test/src/test_runner.cpp
modules/test/src/test_runner_child.cpp