Skip to content

Commit 7fb3833

Browse files
LixinGuoXnashif
authored andcommitted
tests: queue: add a test case for coverage
Add a test case for k_queue_unique_append() API. Signed-off-by: Lixin Guo <[email protected]>
1 parent 5b9c626 commit 7fb3833

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

tests/kernel/queue/src/main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ void test_main(void)
5555
ztest_1cpu_unit_test(test_queue_poll_race),
5656
ztest_unit_test(test_multiple_queues),
5757
ztest_unit_test(test_queue_multithread_competition),
58+
ztest_unit_test(test_queue_unique_append),
5859
ztest_unit_test(test_access_kernel_obj_with_priv_data),
5960
ztest_unit_test(test_queue_append_list_error),
6061
ztest_unit_test(test_queue_merge_list_error),

tests/kernel/queue/src/test_queue.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ extern void test_queue_multithread_competition(void);
3838
extern void test_access_kernel_obj_with_priv_data(void);
3939
extern void test_queue_append_list_error(void);
4040
extern void test_queue_merge_list_error(void);
41+
extern void test_queue_unique_append(void);
4142

4243
extern struct k_heap test_pool;
4344

tests/kernel/queue/src/test_queue_contexts.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,3 +526,30 @@ void test_queue_multithread_competition(void)
526526
/* Revert priority of the main thread */
527527
k_thread_priority_set(k_current_get(), old_prio);
528528
}
529+
530+
/**
531+
* @brief Verify k_queue_unique_append()
532+
*
533+
* @ingroup kernel_queue_tests
534+
*
535+
* @details Append the same data to the queue repeatedly,
536+
* see if it returns expected value.
537+
* And verify operation succeed if append different data to
538+
* the queue.
539+
*
540+
* @see k_queue_unique_append()
541+
*/
542+
void test_queue_unique_append(void)
543+
{
544+
bool ret;
545+
546+
k_queue_init(&queue);
547+
ret = k_queue_unique_append(&queue, (void *)&data[0]);
548+
zassert_true(ret, "queue unique append failed");
549+
550+
ret = k_queue_unique_append(&queue, (void *)&data[0]);
551+
zassert_false(ret, "queue unique append should fail");
552+
553+
ret = k_queue_unique_append(&queue, (void *)&data[1]);
554+
zassert_true(ret, "queue unique append failed");
555+
}

0 commit comments

Comments
 (0)