8 /****************************************************************************/
9 void test_lfds700_queue_bss_dequeuing()
11 enum lfds700_misc_validity
12 dvs = LFDS700_MISC_VALIDITY_VALID;
17 struct lfds700_queue_bss_element
20 struct lfds700_queue_bss_state
23 struct lfds700_misc_validation_info
29 /* TRD : create an empty queue
31 then dequeue the elements, in the same thread - we're API testing
32 it's a single producer queue, so we just do this in our current thread
33 since we're enqueuing and dequeuing in the same thread,
37 internal_display_test_name( "Dequeuing" );
39 lfds700_queue_bss_init_valid_on_current_logical_core( &qs, element_array, 128, NULL );
41 for( loop = 0 ; loop < 127 ; loop++ )
42 lfds700_queue_bss_enqueue( &qs, NULL, (void *) loop );
44 for( loop = 0 ; loop < 127 ; loop++ )
46 lfds700_queue_bss_dequeue( &qs, NULL, &value );
47 if( (lfds700_pal_uint_t) value != 127 - loop )
48 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
51 vi.min_elements = vi.max_elements = 0;
53 lfds700_queue_bss_query( &qs, LFDS700_QUEUE_BSS_QUERY_VALIDATE, &vi, &dvs );
55 lfds700_queue_bss_cleanup( &qs, NULL );
57 internal_display_test_result( 1, "queue_bss", dvs );