source: rtems/testsuites/psxtests/psxrwlock01/psxrwlock01.scn @ 8e9a25ac

4.115
Last change on this file since 8e9a25ac was 8e9a25ac, checked in by Joel Sherrill <joel.sherrill@…>, on 10/21/10 at 22:09:44

2010-10-21 Joel Sherrill <joel.sherrill@…>

  • psx05/init.c: Check for correct status returned.
  • psxrwlock01/psxrwlock01.scn, psxrwlock01/test.c: Add test code to exercise path when attempting to lock for reading but there is at least one writer blocked waiting for access.
  • Property mode set to 100644
File size: 4.4 KB
Line 
1*** POSIX RWLOCK TEST 01 ***
2pthread_rwlockattr_init( NULL ) -- EINVAL
3pthread_rwlockattr_setpshared( NULL, private ) -- EINVAL
4pthread_rwlockattr_setpshared( NULL, shared ) -- EINVAL
5pthread_rwlockattr_getpshared( NULL, &p ) -- EINVAL
6pthread_rwlockattr_destroy( NULL ) -- EINVAL
7pthread_rwlockattr_setpshared( &attr, shared ) -- EINVAL
8pthread_rwlockattr_getpshared( &attr, NULL ) -- EINVAL
9pthread_rwlockattr_destroy( &attr ) -- EINVAL
10pthread_rwlockattr_setpshared( &attr, private ) -- EINVAL
11pthread_rwlockattr_init( &attr ) -- OK
12pthread_rwlockattr_setpshared( &attr, private ) -- OK
13pthread_rwlockattr_getpshared( &attr, &p ) -- OK
14pthread_rwlockattr_setpshared( &attr, shared ) -- OK
15pthread_rwlockattr_getpshared( &attr, &p ) -- OK
16pthread_rwlockattr_destroy( &attr ) -- OK
17pthread_rwlockattr_getpshared( &attr, &p ) destroyed -- EINVAL
18pthread_rwlock_init(NULL, &attr) -- EINVAL
19pthread_rwlock_destroy(NULL) -- EINVAL
20pthread_rwlock_rdlock(NULL) -- EINVAL
21pthread_rwlock_timedrdlock( NULL, &abstime) -- EINVAL
22pthread_rwlock_timedrdlock( &rwlock, NULL) -- EINVAL
23pthread_rwlock_tryrdlock(NULL) -- EINVAL
24pthread_rwlock_wrlock(NULL) -- EINVAL
25pthread_rwlock_timedwrlock( NULL, &abstime) -- EINVAL
26pthread_rwlock_timedwrlock( &rwlock, NULL) -- EINVAL
27pthread_rwlock_trywrlock(NULL) -- EINVAL
28pthread_rwlock_unlock(NULL) -- EINVAL
29clock_gettime(CLOCK_REALTIME, &abstime) -- OK
30pthread_rwlock_destroy(BadId) -- EINVAL
31pthread_rwlock_rdlock(BadId) -- EINVAL
32pthread_rwlock_timedrdlock(BadId, &abstime) -- EINVAL
33pthread_rwlock_tryrdlock(BadId) -- EINVAL
34pthread_rwlock_wrlock(BadId) -- EINVAL
35pthread_rwlock_timedwrlock(BadId, &abstime) -- EINVAL
36pthread_rwlock_trywrlock(BadId) -- EINVAL
37pthread_rwlock_unlock(BadId) -- EINVAL
38pthread_rwlockattr_init( &attr ) -- OK
39pthread_rwlock_init( &rwlock, &attr ) -- OK
40pthread_rwlock_init( &rwlock, &attr ) -- EAGAIN
41pthread_rwlock_destroy( &rwlock ) -- OK
42pthread_rwlock_init( &rwlock, NULL ) -- OK
43pthread_rwlock_destroy( &rwlock ) -- OK
44pthread_rwlock_init( &RWLock, &attr ) -- OK
45pthread_rwlock_tryrdlock(RWLock) -- OK
46Init: pthread_create - thread 1 OK
47ReadThread - pthread_rwlock_rdlock(RWLock) blocking -- OK
48ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK
49Init: pthread_create - thread 2 OK
50ReadThread - pthread_rwlock_rdlock(RWLock) blocking -- OK
51ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK
52pthread_rwlock_unlock(RWLock) -- OK
53pthread_rwlock_trywrlock(RWLock) -- OK
54pthread_rwlock_tryrdlock(&RWLock) -- EBUSY
55Init: pthread_create - thread 1 OK
56ReadThread - pthread_rwlock_rdlock(RWLock) blocking -- OK
57Init: pthread_create - thread 2 OK
58ReadThread - pthread_rwlock_rdlock(RWLock) blocking -- OK
59pthread_rwlock_destroy( &RWLock ) -- EBUSY
60pthread_rwlock_unlock(RWLock) -- OK
61ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK
62ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK
63
64pthread_rwlock_trywrlock(RWLock) -- OK
65pthread_rwlock_trywrlock(&RWLock) -- EBUSY
66Init: pthread_create - thread 1 OK
67WriteThread - pthread_rwlock_wrlock(RWLock) blocking -- OK
68Init: pthread_create - thread 2 OK
69WriteThread - pthread_rwlock_wrlock(RWLock) blocking -- OK
70pthread_rwlock_unlock(RWLock) -- OK
71WriteThread - pthread_rwlock_wrlock(RWLock) unblocked -- OK
72WriteThread - pthread_rwlock_unlock(RWLock) -- OK
73WriteThread - pthread_rwlock_wrlock(RWLock) unblocked -- OK
74WriteThread - pthread_rwlock_unlock(RWLock) -- OK
75
76pthread_rwlock_tryrdlock(&RWLock) -- OK
77Init: pthread_create - thread reader & writer OK
78WriteThread - pthread_rwlock_wrlock(RWLock) blocking -- OK
79ReadThread - pthread_rwlock_rdlock(RWLock) blocking -- OK
80pthread_rwlock_tryrdlock(&RWLock) -- EBUSY
81pthread_rwlock_trywrlock(&RWLock) -- EBUSY
82pthread_rwlock_unlock(&RWLock) -- OK
83WriteThread - pthread_rwlock_wrlock(RWLock) unblocked -- OK
84WriteThread - pthread_rwlock_unlock(RWLock) -- OK
85ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK
86clock_gettime(CLOCK_REALTIME, &abstime) -- OK
87pthread_rwlock_timedwrlock( &RWLock, &abstime) -- OK
88pthread_rwlock_timedrdlock( &RWLock, &abstime) -- ETIMEDOUT
89pthread_rwlock_timedrdlock( &RWLock, &abstime) -- ETIMEDOUT
90pthread_rwlock_timedwrlock( &RWLock, &abstime) -- ETIMEDOUT
91pthread_rwlock_timedrdlock( &RWLock, &abstime) -- in past -- OK
92pthread_rwlock_timedwrlock( &RWLock, &abstime) -- in past -- OK
93pthread_rwlock_destroy( &RWLock ) -- OK
94pthread_rwlock_init( &rwlock, NULL ) -- OK
95pthread_rwlock_unlock ( &rwlock ) -- OK
96pthread_rwlock_unlock ( &rwlock ) -- OK
97*** END OF POSIX RWLOCK TEST 01 ***
Note: See TracBrowser for help on using the repository browser.