diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-01-13 19:27:33 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-01-13 19:27:33 +0000 |
commit | 3e7a0fd4e32d5eac5fceb4ab44a5ccc973093f4d (patch) | |
tree | f4c04432dcbbab3fa428e23564f6656d63eab4d3 | |
parent | Changed error checking macros for POSIX. (diff) | |
download | rtems-3e7a0fd4e32d5eac5fceb4ab44a5ccc973093f4d.tar.bz2 |
Added test case for broadcast to queue with messages pending.
-rw-r--r-- | c/src/tests/sptests/sp13/sp13.scn | 2 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/task1.c | 12 | ||||
-rw-r--r-- | testsuites/sptests/sp13/sp13.scn | 2 | ||||
-rw-r--r-- | testsuites/sptests/sp13/task1.c | 12 |
4 files changed, 28 insertions, 0 deletions
diff --git a/c/src/tests/sptests/sp13/sp13.scn b/c/src/tests/sptests/sp13/sp13.scn index cb34131eb9..66ecca6c60 100644 --- a/c/src/tests/sptests/sp13/sp13.scn +++ b/c/src/tests/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/c/src/tests/sptests/sp13/task1.c b/c/src/tests/sptests/sp13/task1.c index 0f9070dd87..859c3d46ab 100644 --- a/c/src/tests/sptests/sp13/task1.c +++ b/c/src/tests/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 ); 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 ); |