summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-15 13:48:44 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-15 13:57:53 +0200
commitc030edde3f76f23d6fe64df940a8ca059f0404e6 (patch)
tree20651d2bb3a61821bc7d0cccf93f3851b3109994 /testsuites
parentposix: Allow PTHREAD_PROCESS_SHARED for barriers (diff)
downloadrtems-c030edde3f76f23d6fe64df940a8ca059f0404e6.tar.bz2
posix: Allow PTHREAD_PROCESS_SHARED for condvar
Close #3137.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/psxtests/psx10/init.c19
-rw-r--r--testsuites/psxtests/psx10/psx10.scn12
2 files changed, 29 insertions, 2 deletions
diff --git a/testsuites/psxtests/psx10/init.c b/testsuites/psxtests/psx10/init.c
index a37e14efba..24265ba0ad 100644
--- a/testsuites/psxtests/psx10/init.c
+++ b/testsuites/psxtests/psx10/init.c
@@ -115,6 +115,25 @@ void *POSIX_Init(
rtems_test_assert( status == EINVAL );
puts( "Init: pthread_cond_destroy - EINVAL (cond invalid)" );
+/* pshared tests */
+
+ puts( "Init: pthread_cond_init - EINVAL (invalid pshared)" );
+ attr.process_shared = -1;
+ status = pthread_cond_init( &cond, &attr );
+ rtems_test_assert( status == EINVAL );
+
+ puts( "Init: pthread_condattr_setpshared - PTHREAD_PROCESS_SHARED" );
+ status = pthread_condattr_setpshared( &attr, PTHREAD_PROCESS_SHARED );
+ rtems_test_assert( status == 0 );
+
+ puts( "Init: pthread_cond_init - OK" );
+ status = pthread_cond_init( &cond, &attr );
+ rtems_test_assert( status == 0 );
+
+ puts( "Init: pthread_cond_destroy - OK" );
+ status = pthread_cond_destroy( &cond );
+ rtems_test_assert( status == 0 );
+
/* initiailize the attribute for the rest of the test */
puts( "Init: pthread_cond_init - attr" );
diff --git a/testsuites/psxtests/psx10/psx10.scn b/testsuites/psxtests/psx10/psx10.scn
index 962540d6e4..2c70df8713 100644
--- a/testsuites/psxtests/psx10/psx10.scn
+++ b/testsuites/psxtests/psx10/psx10.scn
@@ -1,4 +1,4 @@
-*** POSIX TEST 10 ***
+*** BEGIN OF TEST PSX 10 ***
Init: pthread_condattr_init
Init: pthread_condattr_init - EINVAL (attribute invalid)
Init: pthread_condattr_destroy
@@ -15,12 +15,18 @@ Init: pthread_cond_init - EINVAL (attr not initialized)
Init: pthread_cond_init - ENOMEM (too many conds)
Init: pthread_cond_destroy
Init: pthread_cond_destroy - EINVAL (cond invalid)
+Init: pthread_cond_init - EINVAL (invalid pshared)
+Init: pthread_condattr_setpshared - PTHREAD_PROCESS_SHARED
+Init: pthread_cond_init - OK
+Init: pthread_cond_destroy - OK
Init: pthread_cond_init - attr
+
Init: sleep to switch to Task_1
Task_1: ID is 0x0b010002
Task_1: pthread_cond_wait
Init: pthread_cond_destroy - EBUSY (task1 waiting)
Init: pthread_cond_signal
+
Init: sleep - switch to Task_1 and Task_2
Task_1: back from pthread_cond_wait release mutex
Task_1: pthread_cond_wait
@@ -34,6 +40,7 @@ Task_2: back from pthread_cond_wait release mutex
Task_2: task exit
Init: pthread_cond_timedwait for 3 seconds
Init: pthread_cond_timedwait - ETIMEDOUT - (mutex not acquired)
+
Init: pthread_cond_signal - EINVAL (cond invalid)
Init: pthread_cond_broadcast - EINVAL (cond invalid)
Init: pthread_cond_wait - EINVAL (cond invalid)
@@ -45,6 +52,7 @@ Init: pthread_cond_timedwait - ETIMEDOUT (abstime->tv_sec < current time)
Init: pthread_cond_timedwait - ETIMEDOUT (abstime->tv_nsec < current time)
Init: pthread_cond_wait - EINVAL (mutex not locked before call)
Init: pthread_cond_timedwait - EINVAL (mutex not locked before call)
+
Init: sleep - switch to Task_3
Task_3: ID is 0x0b010004
Task_3: pthread_cond_wait
@@ -52,4 +60,4 @@ Init: pthread_cond_signal
Init: sleep - switch to Task_3
Task_3: pthread_cond_wait - EINVAL (mutex not locked after signal)
Task_3: task exit
-*** END OF POSIX TEST 10 ***
+*** END OF TEST PSX 10 ***