tests: work_queue: update to use new k_work API
Update tests/kernel/workq/work_queue to use the new k_work_* work queue API. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
parent
81f3803927
commit
cfee0cbe2f
@ -42,7 +42,7 @@
|
||||
|
||||
struct delayed_test_item {
|
||||
int key;
|
||||
struct k_delayed_work work;
|
||||
struct k_work_delayable work;
|
||||
};
|
||||
|
||||
struct triggered_test_item {
|
||||
@ -106,7 +106,7 @@ static void delayed_test_items_init(void)
|
||||
|
||||
for (i = 0; i < NUM_TEST_ITEMS; i++) {
|
||||
delayed_tests[i].key = i + 1;
|
||||
k_delayed_work_init(&delayed_tests[i].work, work_handler);
|
||||
k_work_init_delayable(&delayed_tests[i].work, work_handler);
|
||||
}
|
||||
}
|
||||
|
||||
@ -133,7 +133,7 @@ static void coop_work_main(int arg1, int arg2)
|
||||
|
||||
for (i = 1; i < NUM_TEST_ITEMS; i += 2) {
|
||||
TC_PRINT(" - Submitting work %d from coop thread\n", i + 1);
|
||||
k_delayed_work_submit(&delayed_tests[i].work, K_NO_WAIT);
|
||||
k_work_schedule(&delayed_tests[i].work, K_NO_WAIT);
|
||||
k_msleep(SUBMIT_WAIT);
|
||||
}
|
||||
}
|
||||
@ -152,7 +152,7 @@ static void delayed_test_items_submit(void)
|
||||
|
||||
for (i = 0; i < NUM_TEST_ITEMS; i += 2) {
|
||||
TC_PRINT(" - Submitting work %d from preempt thread\n", i + 1);
|
||||
k_delayed_work_submit(&delayed_tests[i].work, K_NO_WAIT);
|
||||
k_work_schedule(&delayed_tests[i].work, K_NO_WAIT);
|
||||
k_msleep(SUBMIT_WAIT);
|
||||
}
|
||||
}
|
||||
@ -225,10 +225,10 @@ static void test_resubmit(void)
|
||||
TC_PRINT("Starting resubmit test\n");
|
||||
|
||||
delayed_tests[0].key = 1;
|
||||
k_delayed_work_init(&delayed_tests[0].work, resubmit_work_handler);
|
||||
k_work_init_delayable(&delayed_tests[0].work, resubmit_work_handler);
|
||||
|
||||
TC_PRINT(" - Submitting work\n");
|
||||
k_delayed_work_submit(&delayed_tests[0].work, K_NO_WAIT);
|
||||
k_work_schedule(&delayed_tests[0].work, K_NO_WAIT);
|
||||
|
||||
TC_PRINT(" - Waiting for work to finish\n");
|
||||
k_msleep(CHECK_WAIT);
|
||||
@ -253,7 +253,7 @@ static void delayed_work_handler(struct k_work *work)
|
||||
*
|
||||
* @ingroup kernel_workqueue_tests
|
||||
*
|
||||
* @see k_delayed_work_init()
|
||||
* @see k_work_init_delayable()
|
||||
*/
|
||||
static void test_delayed_init(void)
|
||||
{
|
||||
@ -261,8 +261,8 @@ static void test_delayed_init(void)
|
||||
|
||||
for (i = 0; i < NUM_TEST_ITEMS; i++) {
|
||||
delayed_tests[i].key = i + 1;
|
||||
k_delayed_work_init(&delayed_tests[i].work,
|
||||
delayed_work_handler);
|
||||
k_work_init_delayable(&delayed_tests[i].work,
|
||||
delayed_work_handler);
|
||||
}
|
||||
}
|
||||
|
||||
@ -279,8 +279,8 @@ static void coop_delayed_work_main(int arg1, int arg2)
|
||||
for (i = 1; i < NUM_TEST_ITEMS; i += 2) {
|
||||
TC_PRINT(" - Submitting delayed work %d from"
|
||||
" coop thread\n", i + 1);
|
||||
k_delayed_work_submit(&delayed_tests[i].work,
|
||||
K_MSEC((i + 1) * WORK_ITEM_WAIT));
|
||||
k_work_schedule(&delayed_tests[i].work,
|
||||
K_MSEC((i + 1) * WORK_ITEM_WAIT));
|
||||
}
|
||||
}
|
||||
|
||||
@ -289,7 +289,7 @@ static void coop_delayed_work_main(int arg1, int arg2)
|
||||
*
|
||||
* @ingroup kernel_workqueue_tests
|
||||
*
|
||||
* @see k_delayed_work_init(), k_delayed_work_submit()
|
||||
* @see k_work_init_delayable(), k_work_schedule()
|
||||
*/
|
||||
static void test_delayed_submit(void)
|
||||
{
|
||||
@ -302,8 +302,8 @@ static void test_delayed_submit(void)
|
||||
for (i = 0; i < NUM_TEST_ITEMS; i += 2) {
|
||||
TC_PRINT(" - Submitting delayed work %d from"
|
||||
" preempt thread\n", i + 1);
|
||||
zassert_true(k_delayed_work_submit(&delayed_tests[i].work,
|
||||
K_MSEC((i + 1) * WORK_ITEM_WAIT)) == 0, NULL);
|
||||
zassert_true(k_work_reschedule(&delayed_tests[i].work,
|
||||
K_MSEC((i + 1) * WORK_ITEM_WAIT)) >= 0, NULL);
|
||||
}
|
||||
|
||||
}
|
||||
@ -313,10 +313,10 @@ static void coop_delayed_work_cancel_main(int arg1, int arg2)
|
||||
ARG_UNUSED(arg1);
|
||||
ARG_UNUSED(arg2);
|
||||
|
||||
k_delayed_work_submit(&delayed_tests[1].work, K_MSEC(WORK_ITEM_WAIT));
|
||||
k_work_schedule(&delayed_tests[1].work, K_MSEC(WORK_ITEM_WAIT));
|
||||
|
||||
TC_PRINT(" - Cancel delayed work from coop thread\n");
|
||||
k_delayed_work_cancel(&delayed_tests[1].work);
|
||||
k_work_cancel_delayable(&delayed_tests[1].work);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -324,17 +324,17 @@ static void coop_delayed_work_cancel_main(int arg1, int arg2)
|
||||
*
|
||||
* @ingroup kernel_workqueue_tests
|
||||
*
|
||||
* @see k_delayed_work_init(), k_delayed_work_submit(),
|
||||
* k_delayed_work_cancel()
|
||||
* @see k_work_delayable_init(), k_work_schedule(),
|
||||
* k_work_cancel_delayable()
|
||||
*/
|
||||
static void test_delayed_cancel(void)
|
||||
{
|
||||
TC_PRINT("Starting delayed cancel test\n");
|
||||
|
||||
k_delayed_work_submit(&delayed_tests[0].work, K_MSEC(WORK_ITEM_WAIT));
|
||||
k_work_schedule(&delayed_tests[0].work, K_MSEC(WORK_ITEM_WAIT));
|
||||
|
||||
TC_PRINT(" - Cancel delayed work from preempt thread\n");
|
||||
k_delayed_work_cancel(&delayed_tests[0].work);
|
||||
k_work_cancel_delayable(&delayed_tests[0].work);
|
||||
|
||||
k_thread_create(&co_op_data, co_op_stack, STACK_SIZE,
|
||||
(k_thread_entry_t)coop_delayed_work_cancel_main,
|
||||
@ -352,27 +352,27 @@ static void test_delayed_pending(void)
|
||||
{
|
||||
TC_PRINT("Starting delayed pending test\n");
|
||||
|
||||
k_delayed_work_init(&delayed_tests[0].work, delayed_work_handler);
|
||||
k_work_init_delayable(&delayed_tests[0].work, delayed_work_handler);
|
||||
|
||||
zassert_false(k_delayed_work_pending(&delayed_tests[0].work), NULL);
|
||||
zassert_false(k_work_delayable_is_pending(&delayed_tests[0].work), NULL);
|
||||
|
||||
TC_PRINT(" - Check pending delayed work when in workqueue\n");
|
||||
k_delayed_work_submit(&delayed_tests[0].work, K_NO_WAIT);
|
||||
zassert_true(k_delayed_work_pending(&delayed_tests[0].work), NULL);
|
||||
k_work_schedule(&delayed_tests[0].work, K_NO_WAIT);
|
||||
zassert_true(k_work_delayable_is_pending(&delayed_tests[0].work), NULL);
|
||||
|
||||
k_msleep(1);
|
||||
zassert_false(k_delayed_work_pending(&delayed_tests[0].work), NULL);
|
||||
zassert_false(k_work_delayable_is_pending(&delayed_tests[0].work), NULL);
|
||||
|
||||
TC_PRINT(" - Checking results\n");
|
||||
check_results(1);
|
||||
reset_results();
|
||||
|
||||
TC_PRINT(" - Check pending delayed work with timeout\n");
|
||||
k_delayed_work_submit(&delayed_tests[0].work, K_MSEC(WORK_ITEM_WAIT));
|
||||
zassert_true(k_delayed_work_pending(&delayed_tests[0].work), NULL);
|
||||
k_work_schedule(&delayed_tests[0].work, K_MSEC(WORK_ITEM_WAIT));
|
||||
zassert_true(k_work_delayable_is_pending(&delayed_tests[0].work), NULL);
|
||||
|
||||
k_msleep(WORK_ITEM_WAIT_ALIGNED);
|
||||
zassert_false(k_delayed_work_pending(&delayed_tests[0].work), NULL);
|
||||
zassert_false(k_work_delayable_is_pending(&delayed_tests[0].work), NULL);
|
||||
|
||||
TC_PRINT(" - Checking results\n");
|
||||
check_results(1);
|
||||
@ -384,7 +384,7 @@ static void test_delayed_pending(void)
|
||||
*
|
||||
* @ingroup kernel_workqueue_tests
|
||||
*
|
||||
* @see k_delayed_work_init(), k_delayed_work_submit()
|
||||
* @see k_work_init_delayable(), k_work_schedule()
|
||||
*/
|
||||
static void test_delayed(void)
|
||||
{
|
||||
@ -805,17 +805,18 @@ static void test_triggered_from_msgq(void)
|
||||
*
|
||||
* @ingroup kernel_workqueue_tests
|
||||
*
|
||||
* @see K_DELAYED_WORK_DEFINE()
|
||||
* @see K_WORK_DELAYABLE_DEFINE()
|
||||
*/
|
||||
void test_delayed_work_define(void)
|
||||
{
|
||||
struct k_delayed_work initialized_by_function = { 0 };
|
||||
K_DELAYED_WORK_DEFINE(initialized_by_macro, delayed_work_handler);
|
||||
struct k_work_delayable initialized_by_function = { 0 };
|
||||
|
||||
k_delayed_work_init(&initialized_by_function, delayed_work_handler);
|
||||
K_WORK_DELAYABLE_DEFINE(initialized_by_macro, delayed_work_handler);
|
||||
|
||||
k_work_init_delayable(&initialized_by_function, delayed_work_handler);
|
||||
|
||||
zassert_mem_equal(&initialized_by_function, &initialized_by_macro,
|
||||
sizeof(struct k_delayed_work), NULL);
|
||||
sizeof(struct k_work_delayable), NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user