File tree Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -55,6 +55,7 @@ void test_main(void)
55
55
ztest_1cpu_unit_test (test_queue_poll_race ),
56
56
ztest_unit_test (test_multiple_queues ),
57
57
ztest_unit_test (test_queue_multithread_competition ),
58
+ ztest_unit_test (test_queue_unique_append ),
58
59
ztest_unit_test (test_access_kernel_obj_with_priv_data ),
59
60
ztest_unit_test (test_queue_append_list_error ),
60
61
ztest_unit_test (test_queue_merge_list_error ),
Original file line number Diff line number Diff line change @@ -38,6 +38,7 @@ extern void test_queue_multithread_competition(void);
38
38
extern void test_access_kernel_obj_with_priv_data (void );
39
39
extern void test_queue_append_list_error (void );
40
40
extern void test_queue_merge_list_error (void );
41
+ extern void test_queue_unique_append (void );
41
42
42
43
extern struct k_heap test_pool ;
43
44
Original file line number Diff line number Diff line change @@ -526,3 +526,30 @@ void test_queue_multithread_competition(void)
526
526
/* Revert priority of the main thread */
527
527
k_thread_priority_set (k_current_get (), old_prio );
528
528
}
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
+ }
You can’t perform that action at this time.
0 commit comments