Added more of Helgrind's regression tests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7462 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/exp-drd/tests/Makefile.am b/exp-drd/tests/Makefile.am
index f7a6fd2..f935ec7 100644
--- a/exp-drd/tests/Makefile.am
+++ b/exp-drd/tests/Makefile.am
@@ -15,6 +15,18 @@
 	fp_race.stderr.exp2                                     \
 	fp_race2.vgtest                                         \
 	fp_race2.stdout.exp fp_race2.stderr.exp                 \
+        hg01_all_ok.vgtest                                      \
+        hg01_all_ok.stderr.exp                                  \
+        hg02_deadlock.vgtest                                    \
+        hg02_deadlock.stderr.exp                                \
+        hg03_inherit.vgtest                                     \
+        hg03_inherit.stderr.exp                                 \
+        hg04_race.vgtest                                        \
+        hg04_race.stderr.exp                                    \
+        hg05_race2.vgtest                                       \
+        hg05_race2.stderr.exp                                   \
+        hg06_readshared.vgtest                                  \
+        hg06_readshared.stderr.exp                              \
 	matinv.vgtest                                           \
 	matinv.stdout.exp matinv.stderr.exp                     \
 	pth_barrier.vgtest                                      \
@@ -35,10 +47,46 @@
 	sem_as_mutex.stderr.exp sem_as_mutex.stderr.exp2        \
 	sem_as_mutex2.vgtest                                    \
 	sem_as_mutex2.stderr.exp                                \
-	tc17_sembar.vgtest                                      \
-	tc17_sembar.stderr.exp                                  \
-	tc18_semabuse.vgtest                                    \
-	tc18_semabuse.stderr.exp                                \
+        tc01_simple_race.vgtest                                 \
+        tc01_simple_race.stderr.exp                             \
+        tc02_simple_tls.vgtest                                  \
+        tc02_simple_tls.stderr.exp                              \
+        tc03_re_excl.vgtest                                     \
+        tc03_re_excl.stderr.exp                                 \
+        tc04_free_lock.vgtest                                   \
+        tc04_free_lock.stderr.exp                               \
+        tc07_hbl1.vgtest                                        \
+        tc07_hbl1.stderr.exp                                    \
+        tc09_bad_unlock.vgtest                                  \
+        tc09_bad_unlock.stderr.exp                              \
+        tc10_rec_lock.vgtest                                    \
+        tc10_rec_lock.stderr.exp                                \
+        tc11_XCHG.vgtest                                        \
+        tc11_XCHG.stderr.exp                                    \
+        tc12_rwl_trivial.vgtest                                 \
+        tc12_rwl_trivial.stderr.exp                             \
+        tc13_laog1.vgtest                                       \
+        tc13_laog1.stderr.exp                                   \
+        tc15_laog_lockdel.vgtest                                \
+        tc15_laog_lockdel.stderr.exp                            \
+        tc16_byterace.vgtest                                    \
+        tc16_byterace.stderr.exp                                \
+        tc17_sembar.vgtest                                      \
+        tc17_sembar.stderr.exp                                  \
+        tc18_semabuse.vgtest                                    \
+        tc18_semabuse.stderr.exp                                \
+        tc19_shadowmem.vgtest                                   \
+        tc19_shadowmem.stderr.exp                               \
+        tc20_verifywrap.vgtest                                  \
+        tc20_verifywrap.stderr.exp                              \
+        tc21_pthonce.vgtest                                     \
+        tc21_pthonce.stderr.exp                                 \
+        tc22_exit_w_lock.vgtest                                 \
+        tc22_exit_w_lock.stderr.exp                             \
+        tc23_bogus_condwait.vgtest                              \
+        tc23_bogus_condwait.stderr.exp                          \
+        tc24_nonzero_sem.vgtest                                 \
+        tc24_nonzero_sem.stderr.exp                             \
 	sigalrm.vgtest                                          \
 	sigalrm.stdout.exp sigalrm.stderr.exp
 
@@ -46,48 +94,150 @@
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_builddir)/include
 AM_CXXFLAGS = $(AM_CFLAGS)
 
-check_PROGRAMS =   \
-  fp_race          \
-  matinv           \
-  pth_barrier      \
-  pth_broadcast    \
-  pth_cond_race    \
-  pth_create_chain \
-  pth_detached     \
-  sem_as_mutex     \
-  sigalrm          \
-  tc17_sembar      \
-  tc18_semabuse
+check_PROGRAMS =      \
+  fp_race             \
+  hg01_all_ok         \
+  hg02_deadlock       \
+  hg03_inherit        \
+  hg04_race           \
+  hg05_race2          \
+  hg06_readshared     \
+  matinv              \
+  pth_barrier         \
+  pth_broadcast       \
+  pth_cond_race       \
+  pth_create_chain    \
+  pth_detached        \
+  sem_as_mutex        \
+  sigalrm             \
+  tc01_simple_race    \
+  tc02_simple_tls     \
+  tc03_re_excl        \
+  tc04_free_lock      \
+  tc07_hbl1           \
+  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
 
-fp_race_SOURCES          = fp_race.c
-fp_race_LDADD            = -lpthread
+#  tc05_simple_race    -- result depends on scheduler.
+#  tc06_two_races      -- result depends on scheduler.
+#  tc08_hbl2           -- result depends on scheduler.
+#  tc14_laog_dinphils  -- hangs.
 
-matinv_SOURCES           = matinv.c
-matinv_LDADD             = -lpthread -lm
 
-pth_barrier_SOURCES      = pth_barrier.c
-pth_barrier_LDADD        = -lpthread
+fp_race_SOURCES             = fp_race.c
+fp_race_LDADD               = -lpthread
 
-pth_broadcast_SOURCES    = pth_broadcast.c
-pth_broadcast_LDADD      = -lpthread
+hg01_all_ok_SOURCES         = ../../helgrind/tests/hg01_all_ok.c
+hg01_all_ok_LDADD           = -lpthread
 
-pth_cond_race_SOURCES    = pth_cond_race.c
-pth_cond_race_LDADD      = -lpthread
+hg02_deadlock_SOURCES       = ../../helgrind/tests/hg02_deadlock.c
+hg02_deadlock_LDADD         = -lpthread
 
-pth_create_chain_SOURCES = pth_create_chain.c
-pth_create_chain_LDADD   = -lpthread
+hg03_inherit_SOURCES        = ../../helgrind/tests/hg03_inherit.c
+hg03_inherit_LDADD          = -lpthread
 
-pth_detached_SOURCES     = pth_detached.c
-pth_detached_LDADD       = -lpthread
+hg04_race_SOURCES           = ../../helgrind/tests/hg04_race.c
+hg04_race_LDADD             = -lpthread
 
-sem_as_mutex_SOURCES     = sem_as_mutex.c
-sem_as_mutex_LDADD       = -lpthread
+hg05_race2_SOURCES          = ../../helgrind/tests/hg05_race2.c
+hg05_race2_LDADD            = -lpthread
 
-sigalrm_SOURCES          = sigalrm.c
-sigalrm_LDADD            = -lpthread
+hg06_readshared_SOURCES     = ../../helgrind/tests/hg06_readshared.c
+hg06_readshared_LDADD       = -lpthread
 
-tc17_sembar_SOURCES      = ../../helgrind/tests/tc17_sembar.c
-tc17_sembar_LDADD        = -lpthread
+matinv_SOURCES              = matinv.c
+matinv_LDADD                = -lpthread -lm
 
-tc18_semabuse_SOURCES    = ../../helgrind/tests/tc18_semabuse.c
-tc18_semabuse_LDADD      = -lpthread
+pth_barrier_SOURCES         = pth_barrier.c
+pth_barrier_LDADD           = -lpthread
+
+pth_broadcast_SOURCES       = pth_broadcast.c
+pth_broadcast_LDADD         = -lpthread
+
+pth_cond_race_SOURCES       = pth_cond_race.c
+pth_cond_race_LDADD         = -lpthread
+
+pth_create_chain_SOURCES    = pth_create_chain.c
+pth_create_chain_LDADD      = -lpthread
+
+pth_detached_SOURCES        = pth_detached.c
+pth_detached_LDADD          = -lpthread
+
+sem_as_mutex_SOURCES        = sem_as_mutex.c
+sem_as_mutex_LDADD          = -lpthread
+
+sigalrm_SOURCES             = sigalrm.c
+sigalrm_LDADD               = -lpthread
+
+tc01_simple_race_SOURCES    = ../../helgrind/tests/tc01_simple_race.c
+tc01_simple_race_LDADD      = -lpthread
+
+tc02_simple_tls_SOURCES     = ../../helgrind/tests/tc02_simple_tls.c
+tc02_simple_tls_LDADD       = -lpthread
+
+tc03_re_excl_SOURCES        = ../../helgrind/tests/tc03_re_excl.c
+tc03_re_excl_LDADD          = -lpthread
+
+tc04_free_lock_SOURCES      = ../../helgrind/tests/tc04_free_lock.c
+tc04_free_lock_LDADD        = -lpthread
+
+tc07_hbl1_SOURCES           = ../../helgrind/tests/tc07_hbl1.c
+tc07_hbl1_LDADD             = -lpthread
+
+tc09_bad_unlock_SOURCES     = ../../helgrind/tests/tc09_bad_unlock.c
+tc09_bad_unlock_LDADD       = -lpthread
+
+tc10_rec_lock_SOURCES       = ../../helgrind/tests/tc10_rec_lock.c
+tc10_rec_lock_LDADD         = -lpthread
+
+tc11_XCHG_SOURCES           = ../../helgrind/tests/tc11_XCHG.c
+tc11_XCHG_LDADD             = -lpthread
+
+tc12_rwl_trivial_SOURCES    = ../../helgrind/tests/tc12_rwl_trivial.c
+tc12_rwl_trivial_LDADD      = -lpthread
+
+tc13_laog1_SOURCES          = ../../helgrind/tests/tc13_laog1.c
+tc13_laog1_LDADD            = -lpthread
+
+tc15_laog_lockdel_SOURCES   = ../../helgrind/tests/tc15_laog_lockdel.c
+tc15_laog_lockdel_LDADD     = -lpthread
+
+tc16_byterace_SOURCES       = ../../helgrind/tests/tc16_byterace.c
+tc16_byterace_LDADD         = -lpthread
+
+tc17_sembar_SOURCES         = ../../helgrind/tests/tc17_sembar.c
+tc17_sembar_LDADD           = -lpthread
+
+tc18_semabuse_SOURCES       = ../../helgrind/tests/tc18_semabuse.c
+tc18_semabuse_LDADD         = -lpthread
+
+tc19_shadowmem_SOURCES      = ../../helgrind/tests/tc19_shadowmem.c
+tc19_shadowmem_LDADD        = -lpthread
+
+tc20_verifywrap_SOURCES     = ../../helgrind/tests/tc20_verifywrap.c
+tc20_verifywrap_LDADD       = -lpthread
+
+tc21_pthonce_SOURCES        = ../../helgrind/tests/tc21_pthonce.c
+tc21_pthonce_LDADD          = -lpthread
+
+tc22_exit_w_lock_SOURCES    = ../../helgrind/tests/tc22_exit_w_lock.c
+tc22_exit_w_lock_LDADD      = -lpthread
+
+tc23_bogus_condwait_SOURCES = ../../helgrind/tests/tc23_bogus_condwait.c
+tc23_bogus_condwait_LDADD   = -lpthread
+
+tc24_nonzero_sem_SOURCES    = ../../helgrind/tests/tc24_nonzero_sem.c
+tc24_nonzero_sem_LDADD      = -lpthread