xref: /dragonfly/test/libpthread/mutex_d.exp (revision d50f9ae3)
1
2Testing pthread_mutex_init
3--------------------------
4  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified) - PASS
5  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS
6  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS
7  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL - PASS
8  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS
9  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) - PASS
10  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS
11  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS
12  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL - PASS
13  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS
14  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) - PASS
15  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS
16  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS
17  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL - PASS
18  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS
19
20Testing pthread_mutex_destroy
21-----------------------------
22  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified)
23    Destruction of unused mutex - PASS
24    Destruction of mutex locked by self - PASS
25    Destruction of mutex locked by another thread - PASS
26    Destruction of mutex while being used in cond_wait - PASS
27  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT
28    Destruction of unused mutex - PASS
29    Destruction of mutex locked by self - PASS
30    Destruction of mutex locked by another thread - PASS
31    Destruction of mutex while being used in cond_wait - PASS
32  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK
33    Destruction of unused mutex - PASS
34    Destruction of mutex locked by self - PASS
35    Destruction of mutex locked by another thread - PASS
36    Destruction of mutex while being used in cond_wait - PASS
37  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL
38    Destruction of unused mutex - PASS
39    Destruction of mutex locked by self - PASS
40    Destruction of mutex locked by another thread - PASS
41    Destruction of mutex while being used in cond_wait - PASS
42  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE
43    Destruction of unused mutex - PASS
44    Destruction of mutex locked by self - PASS
45    Destruction of mutex locked by another thread - PASS
46    Destruction of mutex while being used in cond_wait - PASS
47  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
48    Destruction of unused mutex - PASS
49    Destruction of mutex locked by self - PASS
50    Destruction of mutex locked by another thread - PASS
51    Destruction of mutex while being used in cond_wait - PASS
52  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
53    Destruction of unused mutex - PASS
54    Destruction of mutex locked by self - PASS
55    Destruction of mutex locked by another thread - PASS
56    Destruction of mutex while being used in cond_wait - PASS
57  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
58    Destruction of unused mutex - PASS
59    Destruction of mutex locked by self - PASS
60    Destruction of mutex locked by another thread - PASS
61    Destruction of mutex while being used in cond_wait - PASS
62  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
63    Destruction of unused mutex - PASS
64    Destruction of mutex locked by self - PASS
65    Destruction of mutex locked by another thread - PASS
66    Destruction of mutex while being used in cond_wait - PASS
67  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
68    Destruction of unused mutex - PASS
69    Destruction of mutex locked by self - PASS
70    Destruction of mutex locked by another thread - PASS
71    Destruction of mutex while being used in cond_wait - PASS
72  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
73    Destruction of unused mutex - PASS
74    Destruction of mutex locked by self - PASS
75    Destruction of mutex locked by another thread - PASS
76    Destruction of mutex while being used in cond_wait - PASS
77  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
78    Destruction of unused mutex - PASS
79    Destruction of mutex locked by self - PASS
80    Destruction of mutex locked by another thread - PASS
81    Destruction of mutex while being used in cond_wait - PASS
82  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
83    Destruction of unused mutex - PASS
84    Destruction of mutex locked by self - PASS
85    Destruction of mutex locked by another thread - PASS
86    Destruction of mutex while being used in cond_wait - PASS
87  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
88    Destruction of unused mutex - PASS
89    Destruction of mutex locked by self - PASS
90    Destruction of mutex locked by another thread - PASS
91    Destruction of mutex while being used in cond_wait - PASS
92  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
93    Destruction of unused mutex - PASS
94    Destruction of mutex locked by self - PASS
95    Destruction of mutex locked by another thread - PASS
96    Destruction of mutex while being used in cond_wait - PASS
97
98Testing pthread_mutex_lock
99--------------------------
100  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified)
101    Lock on unlocked mutex - PASS
102    Lock on invalid mutex - PASS
103    Lock on mutex held by self - PASS
104  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT
105    Lock on unlocked mutex - PASS
106    Lock on invalid mutex - PASS
107    Lock on mutex held by self - PASS
108  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK
109    Lock on unlocked mutex - PASS
110    Lock on invalid mutex - PASS
111    Lock on mutex held by self - PASS
112  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL
113    Lock on unlocked mutex - PASS
114    Lock on invalid mutex - PASS
115    Lock on mutex held by self - PASS
116  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE
117    Lock on unlocked mutex - PASS
118    Lock on invalid mutex - PASS
119    Lock on mutex held by self - PASS
120  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
121    Lock on unlocked mutex - PASS
122    Lock on invalid mutex - PASS
123    Lock on mutex held by self - PASS
124  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
125    Lock on unlocked mutex - PASS
126    Lock on invalid mutex - PASS
127    Lock on mutex held by self - PASS
128  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
129    Lock on unlocked mutex - PASS
130    Lock on invalid mutex - PASS
131    Lock on mutex held by self - PASS
132  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
133    Lock on unlocked mutex - PASS
134    Lock on invalid mutex - PASS
135    Lock on mutex held by self - PASS
136  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
137    Lock on unlocked mutex - PASS
138    Lock on invalid mutex - PASS
139    Lock on mutex held by self - PASS
140  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
141    Lock on unlocked mutex - PASS
142    Lock on invalid mutex - PASS
143    Lock on mutex held by self - PASS
144  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
145    Lock on unlocked mutex - PASS
146    Lock on invalid mutex - PASS
147    Lock on mutex held by self - PASS
148  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
149    Lock on unlocked mutex - PASS
150    Lock on invalid mutex - PASS
151    Lock on mutex held by self - PASS
152  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
153    Lock on unlocked mutex - PASS
154    Lock on invalid mutex - PASS
155    Lock on mutex held by self - PASS
156  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
157    Lock on unlocked mutex - PASS
158    Lock on invalid mutex - PASS
159    Lock on mutex held by self - PASS
160
161Testing pthread_mutex_unlock
162----------------------------
163  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified)
164    Unlock on mutex held by self - PASS
165    Unlock on invalid mutex - PASS
166    Unlock on mutex locked by another thread - PASS
167  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT
168    Unlock on mutex held by self - PASS
169    Unlock on invalid mutex - PASS
170    Unlock on mutex locked by another thread - PASS
171  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK
172    Unlock on mutex held by self - PASS
173    Unlock on invalid mutex - PASS
174    Unlock on mutex locked by another thread - PASS
175  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL
176    Unlock on mutex held by self - PASS
177    Unlock on invalid mutex - PASS
178    Unlock on mutex locked by another thread - PASS
179  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE
180    Unlock on mutex held by self - PASS
181    Unlock on invalid mutex - PASS
182    Unlock on mutex locked by another thread - PASS
183  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
184    Unlock on mutex held by self - PASS
185    Unlock on invalid mutex - PASS
186    Unlock on mutex locked by another thread - PASS
187  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
188    Unlock on mutex held by self - PASS
189    Unlock on invalid mutex - PASS
190    Unlock on mutex locked by another thread - PASS
191  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
192    Unlock on mutex held by self - PASS
193    Unlock on invalid mutex - PASS
194    Unlock on mutex locked by another thread - PASS
195  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
196    Unlock on mutex held by self - PASS
197    Unlock on invalid mutex - PASS
198    Unlock on mutex locked by another thread - PASS
199  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
200    Unlock on mutex held by self - PASS
201    Unlock on invalid mutex - PASS
202    Unlock on mutex locked by another thread - PASS
203  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
204    Unlock on mutex held by self - PASS
205    Unlock on invalid mutex - PASS
206    Unlock on mutex locked by another thread - PASS
207  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
208    Unlock on mutex held by self - PASS
209    Unlock on invalid mutex - PASS
210    Unlock on mutex locked by another thread - PASS
211  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
212    Unlock on mutex held by self - PASS
213    Unlock on invalid mutex - PASS
214    Unlock on mutex locked by another thread - PASS
215  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
216    Unlock on mutex held by self - PASS
217    Unlock on invalid mutex - PASS
218    Unlock on mutex locked by another thread - PASS
219  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
220    Unlock on mutex held by self - PASS
221    Unlock on invalid mutex - PASS
222    Unlock on mutex locked by another thread - PASS
223
224Testing queueing order
225----------------------
226  Queueing order on a mutex - PASS
227  Queueing order on a condition variable - PASS
228
229Testing priority inheritance
230----------------------------
231  Protype PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
232    Simple inheritance test - PASS
233    Inheritance test with change of priority - PASS
234  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
235    Simple inheritance test - PASS
236    Inheritance test with change of priority - PASS
237  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
238    Simple inheritance test - PASS
239    Inheritance test with change of priority - PASS
240  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
241    Simple inheritance test - PASS
242    Inheritance test with change of priority - PASS
243  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
244    Simple inheritance test - PASS
245    Inheritance test with change of priority - PASS
246
247Testing priority ceilings
248-------------------------
249  Protype PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
250    Lock with ceiling priority < thread priority - PASS
251    Lock with ceiling priority = thread priority - PASS
252    Lock with ceiling priority > thread priority - PASS
253    Preemption with ceiling priority < thread priority - PASS
254    Preemption with ceiling priority = thread priority - PASS
255    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
256    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
257  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
258    Lock with ceiling priority < thread priority - PASS
259    Lock with ceiling priority = thread priority - PASS
260    Lock with ceiling priority > thread priority - PASS
261    Preemption with ceiling priority < thread priority - PASS
262    Preemption with ceiling priority = thread priority - PASS
263    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
264    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
265  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
266    Lock with ceiling priority < thread priority - PASS
267    Lock with ceiling priority = thread priority - PASS
268    Lock with ceiling priority > thread priority - PASS
269    Preemption with ceiling priority < thread priority - PASS
270    Preemption with ceiling priority = thread priority - PASS
271    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
272    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
273  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
274    Lock with ceiling priority < thread priority - PASS
275    Lock with ceiling priority = thread priority - PASS
276    Lock with ceiling priority > thread priority - PASS
277    Preemption with ceiling priority < thread priority - PASS
278    Preemption with ceiling priority = thread priority - PASS
279    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
280    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
281  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
282    Lock with ceiling priority < thread priority - PASS
283    Lock with ceiling priority = thread priority - PASS
284    Lock with ceiling priority > thread priority - PASS
285    Preemption with ceiling priority < thread priority - PASS
286    Preemption with ceiling priority = thread priority - PASS
287    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
288    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
289
290Total tests 212, passed 212, failed 0
291