From 3e7a0fd4e32d5eac5fceb4ab44a5ccc973093f4d Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 13 Jan 2000 19:27:33 +0000 Subject: Added test case for broadcast to queue with messages pending. --- testsuites/sptests/sp13/sp13.scn | 2 ++ testsuites/sptests/sp13/task1.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) (limited to 'testsuites') diff --git a/testsuites/sptests/sp13/sp13.scn b/testsuites/sptests/sp13/sp13.scn index cb34131eb9..66ecca6c60 100644 --- a/testsuites/sptests/sp13/sp13.scn +++ b/testsuites/sptests/sp13/sp13.scn @@ -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 diff --git a/testsuites/sptests/sp13/task1.c b/testsuites/sptests/sp13/task1.c index 0f9070dd87..859c3d46ab 100644 --- a/testsuites/sptests/sp13/task1.c +++ b/testsuites/sptests/sp13/task1.c @@ -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 ); -- cgit v1.2.3