|
From: <sv...@va...> - 2009-05-16 06:24:44
|
Author: bart
Date: 2009-05-16 07:24:40 +0100 (Sat, 16 May 2009)
New Revision: 9852
Log:
Added pth_mutex_reinit regression test.
Added:
trunk/drd/tests/pth_mutex_reinit.c
trunk/drd/tests/pth_mutex_reinit.stderr.exp
trunk/drd/tests/pth_mutex_reinit.vgtest
Modified:
trunk/drd/tests/
trunk/drd/tests/Makefile.am
Property changes on: trunk/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
+ *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_mutex_reinit
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2009-05-16 06:22:46 UTC (rev 9851)
+++ trunk/drd/tests/Makefile.am 2009-05-16 06:24:40 UTC (rev 9852)
@@ -19,16 +19,16 @@
atomic_var.vgtest \
bar_bad.stderr.exp \
bar_bad.vgtest \
+ bar_trivial.stderr.exp \
bar_trivial.stdout.exp \
- bar_trivial.stderr.exp \
bar_trivial.vgtest \
boost_thread.stderr.exp \
boost_thread.vgtest \
circular_buffer.stderr.exp-with-atomic-builtins \
circular_buffer.stderr.exp-without-atomic-builtins \
circular_buffer.vgtest \
+ custom_alloc.stderr.exp \
custom_alloc.vgtest \
- custom_alloc.stderr.exp \
drd_bitmap_test.stderr.exp \
drd_bitmap_test.stdout.exp \
drd_bitmap_test.vgtest \
@@ -114,8 +114,10 @@
pth_inconsistent_cond_wait.stderr.exp1 \
pth_inconsistent_cond_wait.stderr.exp2 \
pth_inconsistent_cond_wait.vgtest \
+ pth_mutex_reinit.stderr.exp \
+ pth_mutex_reinit.vgtest \
+ pth_process_shared_mutex.c \
pth_process_shared_mutex.vgtest \
- pth_process_shared_mutex.c \
pth_spinlock.stderr.exp \
pth_spinlock.vgtest \
qt4_mutex.stderr.exp \
@@ -220,8 +222,9 @@
pth_create_chain \
pth_detached \
pth_detached_sem \
+ pth_inconsistent_cond_wait \
+ pth_mutex_reinit \
pth_process_shared_mutex \
- pth_inconsistent_cond_wait \
recursive_mutex \
rwlock_race \
rwlock_test \
Added: trunk/drd/tests/pth_mutex_reinit.c
===================================================================
--- trunk/drd/tests/pth_mutex_reinit.c (rev 0)
+++ trunk/drd/tests/pth_mutex_reinit.c 2009-05-16 06:24:40 UTC (rev 9852)
@@ -0,0 +1,36 @@
+/* Test program that triggers mutex reinitialization. */
+
+
+#define _GNU_SOURCE
+
+#include <assert.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc, char** argv)
+{
+ pthread_mutex_t m;
+ pthread_mutexattr_t attr;
+
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL);
+ pthread_mutex_init(&m, &attr);
+ pthread_mutexattr_destroy(&attr);
+ pthread_mutex_lock(&m);
+ pthread_mutex_unlock(&m);
+
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&m, &attr);
+ pthread_mutexattr_destroy(&attr);
+ pthread_mutex_lock(&m);
+ pthread_mutex_unlock(&m);
+
+ pthread_mutex_destroy(&m);
+
+ fprintf(stderr, "Done.\n");
+
+ return 0;
+}
Added: trunk/drd/tests/pth_mutex_reinit.stderr.exp
===================================================================
--- trunk/drd/tests/pth_mutex_reinit.stderr.exp (rev 0)
+++ trunk/drd/tests/pth_mutex_reinit.stderr.exp 2009-05-16 06:24:40 UTC (rev 9852)
@@ -0,0 +1,10 @@
+
+Mutex reinitialization: mutex 0x........, recursion count 0, owner 1.
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_mutex_reinit.c:?)
+mutex 0x........ was first observed at:
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_mutex_reinit.c:?)
+Done.
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/pth_mutex_reinit.vgtest
===================================================================
--- trunk/drd/tests/pth_mutex_reinit.vgtest (rev 0)
+++ trunk/drd/tests/pth_mutex_reinit.vgtest 2009-05-16 06:24:40 UTC (rev 9852)
@@ -0,0 +1,3 @@
+prereq: test -e pth_mutex_reinit && ./supported_libpthread
+vgopts: --var-info=yes --check-stack-var=yes
+prog: pth_mutex_reinit
|