aboutsummaryrefslogtreecommitdiff
path: root/test/validation/api/timer
AgeCommit message (Collapse)Author
2021-06-22validation: timer: add tick info testPetri Savolainen
Added test case to validate tick info content. Hz and nsec values should contain always valid values. Clock cycles value may be zero if time source does not have such relation. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2021-06-01validation: timer: use new timer set return codesPetri Savolainen
Use the new timer set return codes: ODP_TIMER_TOO_NEAR, ODP_TIMER_TOO_FAR and ODP_TIMER_FAIL. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-05-31validation: timer: use default clock source enumPetri Savolainen
Replace ODP_CLOCK_CPU with ODP_CLOCK_DEFAULT. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2021-05-31validation: timer: test all clock sources minimallyPetri Savolainen
Previously validation test did not refer to ODP_CLOCK_EXT at all. Test timer capability with all clock source enumeration values. This ensures that enumeration values are defined and capability call accepts those. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2021-02-23validation: timer: test new timer debug print functionsPetri Savolainen
Call the new timer debug print functions once in a plain and once in a scheduled queue test. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2020-12-22validation: timer: check timer capabilityPavan Nikhilesh
Check timer pool capability and set tests as inactive if destination queue type is not supported. Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2020-07-02validation: timer: always initialize odp_timer_pool_param_t contentsMatias Elo
Always initialize odp_timer_pool_param_t contents to zero. Previously some tests left odp_timer_pool_param_t.res_hz field uninitialized. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2020-06-17validation: timer: add res_hz parameter testsPetri Savolainen
Include the new res_hz parameter and capability into validation tests. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com>
2020-05-15validation: timer: timeout tick equals requested tickPetri Savolainen
Check that timeout event returns original timer handle, user pointer and requested absolute tick. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2019-11-06validation: timer: add private timer pool testPetri Savolainen
Create timer pool with the 'priv' flag set. The same thread calls schedule / queue_deq that created the pool. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2019-09-19validation: use helper library debug macrosMatias Elo
Use ODP helper library debug macros instead of reimplementing the same functionality in test_debug.h. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2019-06-03validation: timer: add timeout limit testsPetri Savolainen
Test min/max timeouts with the highest resolution and longest timeout parameters. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com>
2019-06-03validation: timer: add capability testPetri Savolainen
Add new test case for timer and resolution capability. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com>
2019-06-03validation: timer: use resolution capabilityPetri Savolainen
Limit min/max timeout values according to the used resolution. Most tests use the same resolution and min/max timeout settings. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com>
2019-06-03validation: timer: test pkt and buf event typesPetri Savolainen
Test that also buffer and packet type events can be used as timeout events. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com>
2019-02-14validation: timer: calculate number of timers per thread using capabilityMatias Elo
Previously, the test could fail if 'num_workers * NTIMERS' was larger than the maximum number of timers. Also, added a check for timeout pool capability. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2018-12-26validation: add calls to odp_schedule_config()Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-11-28validation: use use mem_model from helper optionsMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-11-28validation: sched: convert priority macros to function callsPetri Savolainen
Prefer direct function calls over macros. Macros will be deprecated. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-11-28validation: timer: use new timer pool capabilitiesMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed by Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-10-04validation: timer: allocate global data from shmMatias Elo
Enables testing in process mode. Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-09-12validation: timer: be more tolerant wrt delaysDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-26validation: timer: add timer pool create-destroy testPetri Savolainen
Added a test case that creates, uses and destroyes multiple timer pools. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-25validation: timer: loosen period accuracy requirementPetri Savolainen
Test passes if measured: * timeout period is within +-20% (+-4x resolution) of the requested period, and * test period is within +-10% (+- 1 timeout period) of the requested 10 periods. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: honor min timeout param valuePetri Savolainen
Timeout requests should be between min_tmo and max_tmo timer pool parameters, if too early/too late return codes are reported as test failures. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: fix timer_all test sync issuePetri Savolainen
When timer is reset, odp_timer_set_rel() outputs the previous event handle (not ODP_EVENT_INVALID as in case of set). Test case 'timer_all' maintain test status in the event handle variable. Set the variable always to EVENT_INVALID so that both set and reset cases work the same way. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: add plain and sched queue testsPetri Savolainen
Added simple timeout delivery tests for plain and scheduled queues. Current "timer_all" test is complex and tests only plain queues. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: don't assume low timer tick frequencyPetri Savolainen
Timer tick can be the same as CPU frequency. So, test cannot loop until two current_tick calls return the same tick value. Similarly, test cannot assume that expiration tick of a relative timeout call can be exactly calculated from a current_tick value. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: tick conversion may lose precisionPetri Savolainen
Tick <-> nsec conversion may include rounding and thus loss of precision. For example, when tick frequency is higher than 1GHz conversion to nsec lose precision by definition. Modified test to convert nsec -> tick -> nsec and allow resolution level diffrence between nsec values. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: check user pointer oncePetri Savolainen
Code clean up: check only once that user pointer is not NULL. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-23validation: timer: remove doxygen tagsPetri Savolainen
Doxygen documentation is not generated from validation test files. Remove partial and unnecessary doxygen tags. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-28validation: timer: fix test failureDmitry Eremin-Solenikov
timer_main test was regularly failing due to worker code receiving timeout events for cancelled timers in invalid state. However after fixing implementation bug, several other asserts started to fail, as they dependent on incorrect behaviour, like non-freshness of cancelled events. Fixes: https://bugs.linaro.org/show_bug.cgi?id=3517 Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-28validation: timer: fix "Failed to set timer" errorDmitry Eremin-Solenikov
Occasionally timer test will try to set timer to a tick that has just passed. It is not an error per se, so it should be handled properly. Fixes: https://bugs.linaro.org/show_bug.cgi?id=3628 Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-26update Linaro Copyrights to 2018 yearMaxim Uvarov
Using simple commands: find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9]), Linaro/ \1-2018, Linaro/g' {} + find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9])(-201[0-9]), Linaro/ \1-2018, Linaro/g' {} + Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2018-02-20validation: timer: simplify test infrastructureDmitry Eremin-Solenikov
Merge separate file with just main() function into main test file. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-15validation: stop overriding LDADD variableDmitry Eremin-Solenikov
LDADD variable can be used to pass other libraries (like DPDK). Stop overriding LDADD entirely. Instead use PRELDADD variable or appending to LDADD. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27validation/example: call odp_timer_capability() before creating timer poolKevin Wang
Use odp_timer_capability() to determine the max timer resolution Signed-off-by: Kevin Wang <kevin.wang@arm.com> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27validation: test correctness of events subtype implementationDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-19test: drop unused EXEEXT suffixDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-16test: drop now-unused common_plat directoryDmitry Eremin-Solenikov
All tests in test/ are now common to all platforms, so no point in specifying that via (the only) common_plat subdirectory inside test dir. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>