1172491Sobrien# $FreeBSD$
259612Sjasone
359612SjasoneTesting pthread_mutex_init
459612Sjasone--------------------------
559612Sjasone  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified) - PASS
659612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS
759612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS
859612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL - PASS
959612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS
1059612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) - PASS
1159612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS
1259612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS
1359612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL - PASS
1459612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS
1559612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) - PASS
1659612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS
1759612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS
1859612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL - PASS
1959612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS
2059612Sjasone
2159612SjasoneTesting pthread_mutex_destroy
2259612Sjasone-----------------------------
2359612Sjasone  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified)
2459612Sjasone    Destruction of unused mutex - PASS
2559612Sjasone    Destruction of mutex locked by self - PASS
2659612Sjasone    Destruction of mutex locked by another thread - PASS
2759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
2859612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT
2959612Sjasone    Destruction of unused mutex - PASS
3059612Sjasone    Destruction of mutex locked by self - PASS
3159612Sjasone    Destruction of mutex locked by another thread - PASS
3259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
3359612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK
3459612Sjasone    Destruction of unused mutex - PASS
3559612Sjasone    Destruction of mutex locked by self - PASS
3659612Sjasone    Destruction of mutex locked by another thread - PASS
3759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
3859612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL
3959612Sjasone    Destruction of unused mutex - PASS
4059612Sjasone    Destruction of mutex locked by self - PASS
4159612Sjasone    Destruction of mutex locked by another thread - PASS
4259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
4359612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE
4459612Sjasone    Destruction of unused mutex - PASS
4559612Sjasone    Destruction of mutex locked by self - PASS
4659612Sjasone    Destruction of mutex locked by another thread - PASS
4759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
4859612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
4959612Sjasone    Destruction of unused mutex - PASS
5059612Sjasone    Destruction of mutex locked by self - PASS
5159612Sjasone    Destruction of mutex locked by another thread - PASS
5259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
5359612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
5459612Sjasone    Destruction of unused mutex - PASS
5559612Sjasone    Destruction of mutex locked by self - PASS
5659612Sjasone    Destruction of mutex locked by another thread - PASS
5759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
5859612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
5959612Sjasone    Destruction of unused mutex - PASS
6059612Sjasone    Destruction of mutex locked by self - PASS
6159612Sjasone    Destruction of mutex locked by another thread - PASS
6259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
6359612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
6459612Sjasone    Destruction of unused mutex - PASS
6559612Sjasone    Destruction of mutex locked by self - PASS
6659612Sjasone    Destruction of mutex locked by another thread - PASS
6759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
6859612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
6959612Sjasone    Destruction of unused mutex - PASS
7059612Sjasone    Destruction of mutex locked by self - PASS
7159612Sjasone    Destruction of mutex locked by another thread - PASS
7259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
7359612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
7459612Sjasone    Destruction of unused mutex - PASS
7559612Sjasone    Destruction of mutex locked by self - PASS
7659612Sjasone    Destruction of mutex locked by another thread - PASS
7759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
7859612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
7959612Sjasone    Destruction of unused mutex - PASS
8059612Sjasone    Destruction of mutex locked by self - PASS
8159612Sjasone    Destruction of mutex locked by another thread - PASS
8259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
8359612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
8459612Sjasone    Destruction of unused mutex - PASS
8559612Sjasone    Destruction of mutex locked by self - PASS
8659612Sjasone    Destruction of mutex locked by another thread - PASS
8759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
8859612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
8959612Sjasone    Destruction of unused mutex - PASS
9059612Sjasone    Destruction of mutex locked by self - PASS
9159612Sjasone    Destruction of mutex locked by another thread - PASS
9259612Sjasone    Destruction of mutex while being used in cond_wait - PASS
9359612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
9459612Sjasone    Destruction of unused mutex - PASS
9559612Sjasone    Destruction of mutex locked by self - PASS
9659612Sjasone    Destruction of mutex locked by another thread - PASS
9759612Sjasone    Destruction of mutex while being used in cond_wait - PASS
9859612Sjasone
9959612SjasoneTesting pthread_mutex_lock
10059612Sjasone--------------------------
10159612Sjasone  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified)
10259612Sjasone    Lock on unlocked mutex - PASS
10359612Sjasone    Lock on invalid mutex - PASS
10459612Sjasone    Lock on mutex held by self - PASS
10559612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT
10659612Sjasone    Lock on unlocked mutex - PASS
10759612Sjasone    Lock on invalid mutex - PASS
10859612Sjasone    Lock on mutex held by self - PASS
10959612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK
11059612Sjasone    Lock on unlocked mutex - PASS
11159612Sjasone    Lock on invalid mutex - PASS
11259612Sjasone    Lock on mutex held by self - PASS
11359612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL
11459612Sjasone    Lock on unlocked mutex - PASS
11559612Sjasone    Lock on invalid mutex - PASS
11659612Sjasone    Lock on mutex held by self - PASS
11759612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE
11859612Sjasone    Lock on unlocked mutex - PASS
11959612Sjasone    Lock on invalid mutex - PASS
12059612Sjasone    Lock on mutex held by self - PASS
12159612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
12259612Sjasone    Lock on unlocked mutex - PASS
12359612Sjasone    Lock on invalid mutex - PASS
12459612Sjasone    Lock on mutex held by self - PASS
12559612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
12659612Sjasone    Lock on unlocked mutex - PASS
12759612Sjasone    Lock on invalid mutex - PASS
12859612Sjasone    Lock on mutex held by self - PASS
12959612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
13059612Sjasone    Lock on unlocked mutex - PASS
13159612Sjasone    Lock on invalid mutex - PASS
13259612Sjasone    Lock on mutex held by self - PASS
13359612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
13459612Sjasone    Lock on unlocked mutex - PASS
13559612Sjasone    Lock on invalid mutex - PASS
13659612Sjasone    Lock on mutex held by self - PASS
13759612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
13859612Sjasone    Lock on unlocked mutex - PASS
13959612Sjasone    Lock on invalid mutex - PASS
14059612Sjasone    Lock on mutex held by self - PASS
14159612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
14259612Sjasone    Lock on unlocked mutex - PASS
14359612Sjasone    Lock on invalid mutex - PASS
14459612Sjasone    Lock on mutex held by self - PASS
14559612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
14659612Sjasone    Lock on unlocked mutex - PASS
14759612Sjasone    Lock on invalid mutex - PASS
14859612Sjasone    Lock on mutex held by self - PASS
14959612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
15059612Sjasone    Lock on unlocked mutex - PASS
15159612Sjasone    Lock on invalid mutex - PASS
15259612Sjasone    Lock on mutex held by self - PASS
15359612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
15459612Sjasone    Lock on unlocked mutex - PASS
15559612Sjasone    Lock on invalid mutex - PASS
15659612Sjasone    Lock on mutex held by self - PASS
15759612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
15859612Sjasone    Lock on unlocked mutex - PASS
15959612Sjasone    Lock on invalid mutex - PASS
16059612Sjasone    Lock on mutex held by self - PASS
16159612Sjasone
16259612SjasoneTesting pthread_mutex_unlock
16359612Sjasone----------------------------
16459612Sjasone  Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified)
16559612Sjasone    Unlock on mutex held by self - PASS
16659612Sjasone    Unlock on invalid mutex - PASS
16759612Sjasone    Unlock on mutex locked by another thread - PASS
16859612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT
16959612Sjasone    Unlock on mutex held by self - PASS
17059612Sjasone    Unlock on invalid mutex - PASS
17159612Sjasone    Unlock on mutex locked by another thread - PASS
17259612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK
17359612Sjasone    Unlock on mutex held by self - PASS
17459612Sjasone    Unlock on invalid mutex - PASS
17559612Sjasone    Unlock on mutex locked by another thread - PASS
17659612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL
17759612Sjasone    Unlock on mutex held by self - PASS
17859612Sjasone    Unlock on invalid mutex - PASS
17959612Sjasone    Unlock on mutex locked by another thread - PASS
18059612Sjasone  Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE
18159612Sjasone    Unlock on mutex held by self - PASS
18259612Sjasone    Unlock on invalid mutex - PASS
18359612Sjasone    Unlock on mutex locked by another thread - PASS
18459612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
18559612Sjasone    Unlock on mutex held by self - PASS
18659612Sjasone    Unlock on invalid mutex - PASS
18759612Sjasone    Unlock on mutex locked by another thread - PASS
18859612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
18959612Sjasone    Unlock on mutex held by self - PASS
19059612Sjasone    Unlock on invalid mutex - PASS
19159612Sjasone    Unlock on mutex locked by another thread - PASS
19259612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
19359612Sjasone    Unlock on mutex held by self - PASS
19459612Sjasone    Unlock on invalid mutex - PASS
19559612Sjasone    Unlock on mutex locked by another thread - PASS
19659612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
19759612Sjasone    Unlock on mutex held by self - PASS
19859612Sjasone    Unlock on invalid mutex - PASS
19959612Sjasone    Unlock on mutex locked by another thread - PASS
20059612Sjasone  Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
20159612Sjasone    Unlock on mutex held by self - PASS
20259612Sjasone    Unlock on invalid mutex - PASS
20359612Sjasone    Unlock on mutex locked by another thread - PASS
20459612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
20559612Sjasone    Unlock on mutex held by self - PASS
20659612Sjasone    Unlock on invalid mutex - PASS
20759612Sjasone    Unlock on mutex locked by another thread - PASS
20859612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
20959612Sjasone    Unlock on mutex held by self - PASS
21059612Sjasone    Unlock on invalid mutex - PASS
21159612Sjasone    Unlock on mutex locked by another thread - PASS
21259612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
21359612Sjasone    Unlock on mutex held by self - PASS
21459612Sjasone    Unlock on invalid mutex - PASS
21559612Sjasone    Unlock on mutex locked by another thread - PASS
21659612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
21759612Sjasone    Unlock on mutex held by self - PASS
21859612Sjasone    Unlock on invalid mutex - PASS
21959612Sjasone    Unlock on mutex locked by another thread - PASS
22059612Sjasone  Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
22159612Sjasone    Unlock on mutex held by self - PASS
22259612Sjasone    Unlock on invalid mutex - PASS
22359612Sjasone    Unlock on mutex locked by another thread - PASS
22459612Sjasone
22559612SjasoneTesting queueing order
22659612Sjasone----------------------
22759612Sjasone  Queueing order on a mutex - PASS
22859612Sjasone  Queueing order on a condition variable - PASS
22959612Sjasone
23059612SjasoneTesting priority inheritence
23159612Sjasone----------------------------
23259612Sjasone  Protype PTHREAD_PRIO_INHERIT, Type POSIX (type not specified)
23359612Sjasone    Simple inheritence test - PASS
23459612Sjasone    Inheritence test with change of priority - PASS
23559612Sjasone  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT
23659612Sjasone    Simple inheritence test - PASS
23759612Sjasone    Inheritence test with change of priority - PASS
23859612Sjasone  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
23959612Sjasone    Simple inheritence test - PASS
24059612Sjasone    Inheritence test with change of priority - PASS
24159612Sjasone  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL
24259612Sjasone    Simple inheritence test - PASS
24359612Sjasone    Inheritence test with change of priority - PASS
24459612Sjasone  Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE
24559612Sjasone    Simple inheritence test - PASS
24659612Sjasone    Inheritence test with change of priority - PASS
24759612Sjasone
24859612SjasoneTesting priority ceilings
24959612Sjasone-------------------------
25059612Sjasone  Protype PTHREAD_PRIO_PROTECT, Type POSIX (type not specified)
25159612Sjasone    Lock with ceiling priority < thread priority - PASS
25259612Sjasone    Lock with ceiling priority = thread priority - PASS
25359612Sjasone    Lock with ceiling priority > thread priority - PASS
25459612Sjasone    Preemption with ceiling priority < thread priority - PASS
25559612Sjasone    Preemption with ceiling priority = thread priority - PASS
25659612Sjasone    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
25759612Sjasone    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
25859612Sjasone  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT
25959612Sjasone    Lock with ceiling priority < thread priority - PASS
26059612Sjasone    Lock with ceiling priority = thread priority - PASS
26159612Sjasone    Lock with ceiling priority > thread priority - PASS
26259612Sjasone    Preemption with ceiling priority < thread priority - PASS
26359612Sjasone    Preemption with ceiling priority = thread priority - PASS
26459612Sjasone    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
26559612Sjasone    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
26659612Sjasone  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK
26759612Sjasone    Lock with ceiling priority < thread priority - PASS
26859612Sjasone    Lock with ceiling priority = thread priority - PASS
26959612Sjasone    Lock with ceiling priority > thread priority - PASS
27059612Sjasone    Preemption with ceiling priority < thread priority - PASS
27159612Sjasone    Preemption with ceiling priority = thread priority - PASS
27259612Sjasone    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
27359612Sjasone    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
27459612Sjasone  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL
27559612Sjasone    Lock with ceiling priority < thread priority - PASS
27659612Sjasone    Lock with ceiling priority = thread priority - PASS
27759612Sjasone    Lock with ceiling priority > thread priority - PASS
27859612Sjasone    Preemption with ceiling priority < thread priority - PASS
27959612Sjasone    Preemption with ceiling priority = thread priority - PASS
28059612Sjasone    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
28159612Sjasone    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
28259612Sjasone  Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE
28359612Sjasone    Lock with ceiling priority < thread priority - PASS
28459612Sjasone    Lock with ceiling priority = thread priority - PASS
28559612Sjasone    Lock with ceiling priority > thread priority - PASS
28659612Sjasone    Preemption with ceiling priority < thread priority - PASS
28759612Sjasone    Preemption with ceiling priority = thread priority - PASS
28859612Sjasone    SCHED_FIFO scheduling and ceiling priority = thread priority - PASS
28959612Sjasone    SCHED_FIFO scheduling and ceiling priority > thread priority - PASS
29059612Sjasone
29159612SjasoneTotal tests 212, passed 212, failed 0
292