Added test case for broadcast to queue with messages pending.

This commit is contained in:
Joel Sherrill
2000-01-13 19:27:33 +00:00
parent 85d62357bb
commit 3e7a0fd4e3
4 changed files with 28 additions and 0 deletions

View File

@@ -58,6 +58,8 @@ TA1 - rtems_message_queue_flush - empty Q 3
TA1 - 0 messages were flushed from Q 3
TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3
TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3
TA3 - rtems_message_queue_broadcast - NO BUFFER TO Q1
TA3 - number of tasks awakened = 0
TA1 - rtems_message_queue_get_number_pending - SUCCESSFUL
TA1 - 2 messages are pending on Q 3
TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3

View File

@@ -213,6 +213,18 @@ rtems_test_pause();
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 );
directive_failed( status, "rtems_message_queue_send" );
/* this broadcast should have no effect on the queue */
Fill_buffer( "NO BUFFER TO Q1", (long *)buffer );
puts( "TA3 - rtems_message_queue_broadcast - NO BUFFER TO Q1" );
status = rtems_message_queue_broadcast(
Queue_id[ 1 ],
(long (*)[4])buffer,
16,
&count
);
printf( "TA3 - number of tasks awakened = %d\n", count );
puts( "TA1 - rtems_message_queue_get_number_pending - SUCCESSFUL\n" );
status = rtems_message_queue_get_number_pending( Queue_id[ 3 ], &count );
printf( "TA1 - %d messages are pending on Q 3\n", count );