From dafab0e5e17514b70f9de6d1abd1370fe81b252d Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Mon, 18 Jan 2016 13:20:16 +0100 Subject: [PATCH 2/3] DP_TASK: add be_ptask_get_timeout() --- src/providers/dp_ptask.c | 5 +++++ src/providers/dp_ptask.h | 1 + src/tests/cmocka/test_be_ptask.c | 22 ++++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/src/providers/dp_ptask.c b/src/providers/dp_ptask.c index 51800ab57b5649380c0603f1d602dfa81d1f5919..3ebb134be4a991498ac5692883dd1a42416efcfe 100644 --- a/src/providers/dp_ptask.c +++ b/src/providers/dp_ptask.c @@ -384,6 +384,11 @@ time_t be_ptask_get_period(struct be_ptask *task) return task->period; } +time_t be_ptask_get_timeout(struct be_ptask *task) +{ + return task->timeout; +} + struct be_ptask_sync_ctx { be_ptask_sync_t fn; void *pvt; diff --git a/src/providers/dp_ptask.h b/src/providers/dp_ptask.h index 1b931010bb206285f3ca635f7b0c2399c3050951..3b97553619f5ac2d4292ba61e3de3c7408af812c 100644 --- a/src/providers/dp_ptask.h +++ b/src/providers/dp_ptask.h @@ -126,5 +126,6 @@ void be_ptask_disable(struct be_ptask *task); void be_ptask_destroy(struct be_ptask **task); time_t be_ptask_get_period(struct be_ptask *task); +time_t be_ptask_get_timeout(struct be_ptask *task); #endif /* _DP_PTASK_H_ */ diff --git a/src/tests/cmocka/test_be_ptask.c b/src/tests/cmocka/test_be_ptask.c index a0daaf967a6f1ea991ff30445488ffadff51f821..cbf61e81dd00d98cb27f87e31a0c4718f6b9a0b4 100644 --- a/src/tests/cmocka/test_be_ptask.c +++ b/src/tests/cmocka/test_be_ptask.c @@ -33,6 +33,7 @@ #define DELAY 2 #define PERIOD 1 +#define TIMEOUT 123 #define new_test(test) \ cmocka_unit_test_setup_teardown(test_ ## test, test_setup, test_teardown) @@ -795,6 +796,26 @@ void test_be_ptask_get_period(void **state) assert_null(ptask); } +void test_be_ptask_get_timeout(void **state) +{ + struct test_ctx *test_ctx = (struct test_ctx *)(*state); + struct be_ptask *ptask = NULL; + time_t out_timeout; + errno_t ret; + + ret = be_ptask_create(test_ctx, test_ctx->be_ctx, PERIOD, 0, 0, 0, TIMEOUT, + BE_PTASK_OFFLINE_SKIP, 0, test_be_ptask_send, + test_be_ptask_recv, test_ctx, "Test ptask", &ptask); + assert_int_equal(ret, ERR_OK); + assert_non_null(ptask); + + out_timeout = be_ptask_get_timeout(ptask); + assert_true(TIMEOUT == out_timeout); + + be_ptask_destroy(&ptask); + assert_null(ptask); +} + void test_be_ptask_create_sync(void **state) { struct test_ctx *test_ctx = (struct test_ctx *)(*state); @@ -970,6 +991,7 @@ int main(int argc, const char *argv[]) new_test(be_ptask_reschedule_timeout), new_test(be_ptask_reschedule_backoff), new_test(be_ptask_get_period), + new_test(be_ptask_get_timeout), new_test(be_ptask_create_sync), new_test(be_ptask_sync_reschedule_ok), new_test(be_ptask_sync_reschedule_error), -- 2.1.0