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