Initial import from FreeBSD RELENG_4:
[dragonfly.git] / lib / libc_r / test / mutex_d.exp
1
2 Testing 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
20 Testing 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
98 Testing 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
161 Testing 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
224 Testing queueing order
225 ----------------------
226   Queueing order on a mutex - PASS
227   Queueing order on a condition variable - PASS
228
229 Testing priority inheritence
230 ----------------------------
231   Protype PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
232     Simple inheritence test - PASS
233     Inheritence test with change of priority - PASS
234   Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
235     Simple inheritence test - PASS
236     Inheritence test with change of priority - PASS
237   Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
238     Simple inheritence test - PASS
239     Inheritence test with change of priority - PASS
240   Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
241     Simple inheritence test - PASS
242     Inheritence test with change of priority - PASS
243   Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
244     Simple inheritence test - PASS
245     Inheritence test with change of priority - PASS
246
247 Testing 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
290 Total tests 212, passed 212, failed 0