Home | History | Annotate | Download | only in tests
      1 
      2 include $(top_srcdir)/Makefile.tool-tests.am
      3 
      4 dist_noinst_SCRIPTS = filter_stderr   \
      5 		      filter_stderr_solaris \
      6 		      filter_helgrind \
      7 		      filter_xml
      8 
      9 EXTRA_DIST = \
     10 	annotate_hbefore.vgtest annotate_hbefore.stdout.exp \
     11 		annotate_hbefore.stderr.exp \
     12 	annotate_rwlock.vgtest annotate_rwlock.stdout.exp \
     13 		annotate_rwlock.stderr.exp \
     14 	annotate_smart_pointer.vgtest annotate_smart_pointer.stdout.exp \
     15 		annotate_smart_pointer.stderr.exp \
     16 	cond_init_destroy.vgtest cond_init_destroy.stderr.exp \
     17 	cond_timedwait_invalid.vgtest cond_timedwait_invalid.stdout.exp \
     18 		cond_timedwait_invalid.stderr.exp \
     19 	cond_timedwait_test.vgtest cond_timedwait_test.stdout.exp \
     20 		cond_timedwait_test.stderr.exp \
     21 	bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \
     22 		bar_bad.stderr.exp-destroy-hang \
     23 	bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \
     24 	free_is_write.vgtest free_is_write.stdout.exp \
     25 		free_is_write.stderr.exp \
     26 	hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \
     27 	hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \
     28 	hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \
     29 	hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \
     30 	hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \
     31 	hg06_readshared.vgtest hg06_readshared.stdout.exp \
     32 		hg06_readshared.stderr.exp \
     33 	locked_vs_unlocked1_fwd.vgtest \
     34 		locked_vs_unlocked1_fwd.stderr.exp \
     35 		locked_vs_unlocked1_fwd.stdout.exp \
     36 	locked_vs_unlocked1_rev.vgtest \
     37 		locked_vs_unlocked1_rev.stderr.exp \
     38 		locked_vs_unlocked1_rev.stdout.exp \
     39 	locked_vs_unlocked2.vgtest \
     40 		locked_vs_unlocked2.stderr.exp \
     41 		locked_vs_unlocked2.stdout.exp \
     42 	locked_vs_unlocked3.vgtest \
     43 		locked_vs_unlocked3.stderr.exp \
     44 		locked_vs_unlocked3.stdout.exp \
     45 	pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \
     46 	pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \
     47 	pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \
     48 	pth_destroy_cond.vgtest \
     49 		pth_destroy_cond.stdout.exp \
     50 		pth_destroy_cond.stderr.exp pth_destroy_cond.stderr.exp2 \
     51 	pth_cond_destroy_busy.vgtest pth_cond_destroy_busy.stderr.exp \
     52 		pth_cond_destroy_busy.stderr.exp-ppc64 \
     53 		pth_cond_destroy_busy.stderr.exp-solaris \
     54 	pth_spinlock.vgtest pth_spinlock.stdout.exp pth_spinlock.stderr.exp \
     55 	rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \
     56 	rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \
     57 	shmem_abits.vgtest shmem_abits.stdout.exp shmem_abits.stderr.exp \
     58 	stackteardown.vgtest stackteardown.stdout.exp stackteardown.stderr.exp \
     59 	t2t_laog.vgtest t2t_laog.stdout.exp t2t_laog.stderr.exp \
     60 	tc01_simple_race.vgtest tc01_simple_race.stdout.exp \
     61 		tc01_simple_race.stderr.exp \
     62 	tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \
     63 		tc02_simple_tls.stderr.exp \
     64 	tc03_re_excl.vgtest tc03_re_excl.stdout.exp \
     65 		tc03_re_excl.stderr.exp \
     66 	tc04_free_lock.vgtest tc04_free_lock.stdout.exp \
     67 		tc04_free_lock.stderr.exp \
     68 	tc05_simple_race.vgtest tc05_simple_race.stdout.exp \
     69 		tc05_simple_race.stderr.exp \
     70 	tc06_two_races.vgtest tc06_two_races.stdout.exp \
     71 		tc06_two_races.stderr.exp \
     72 	tc06_two_races_xml.vgtest tc06_two_races_xml.stdout.exp \
     73 		tc06_two_races_xml.stderr.exp \
     74 	tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \
     75 	tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \
     76 	tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \
     77 		tc09_bad_unlock.stderr.exp tc09_bad_unlock.stderr.exp-solaris \
     78 	tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \
     79 	tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \
     80 	tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \
     81 		tc12_rwl_trivial.stderr.exp \
     82 		tc12_rwl_trivial.stderr.exp-darwin970 \
     83 		tc12_rwl_trivial.stderr.exp-solaris \
     84 	tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \
     85 	tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \
     86 		tc14_laog_dinphils.stderr.exp \
     87 	tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \
     88 		tc15_laog_lockdel.stderr.exp \
     89 	tc16_byterace.vgtest tc16_byterace.stdout.exp \
     90 		tc16_byterace.stderr.exp \
     91 	tc17_sembar.vgtest tc17_sembar.stdout.exp \
     92 		tc17_sembar.stderr.exp \
     93 	tc18_semabuse.vgtest tc18_semabuse.stdout.exp \
     94 		tc18_semabuse.stderr.exp \
     95 		tc18_semabuse.stderr.exp-linux-mips32 \
     96 		tc18_semabuse.stderr.exp-linux-mips32-b \
     97 		tc18_semabuse.stderr.exp-solaris \
     98 	tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \
     99 		tc19_shadowmem.stderr.exp tc19_shadowmem.stderr.exp-mips32 \
    100 	tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \
    101 		tc20_verifywrap.stderr.exp \
    102 		tc20_verifywrap.stderr.exp-glibc-2.18 \
    103 		tc20_verifywrap.stderr.exp-glibc-2.21 \
    104 		tc20_verifywrap.stderr.exp-mips32 \
    105 		tc20_verifywrap.stderr.exp-mips32-b \
    106 		tc20_verifywrap.stderr.exp-s390x \
    107 		tc20_verifywrap.stderr.exp-solaris \
    108 	tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \
    109 	tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \
    110 		tc22_exit_w_lock.stderr.exp \
    111 		tc22_exit_w_lock.stderr.exp-kfail-x86 \
    112 		tc22_exit_w_lock.stderr.exp-solaris \
    113 	tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \
    114 		tc23_bogus_condwait.stderr.exp \
    115 		tc23_bogus_condwait.stderr.exp-mips32 \
    116 	tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \
    117 		tc24_nonzero_sem.stderr.exp \
    118 	tls_threads.vgtest tls_threads.stdout.exp \
    119 		tls_threads.stderr.exp
    120 
    121 # Wrapper headers used by some check programs.
    122 noinst_HEADERS = safe-pthread.h safe-semaphore.h
    123 
    124 # XXX: tc18_semabuse uses operations that are unsupported on Darwin.  It
    125 # should be conditionally compiled like tc20_verifywrap is.
    126 check_PROGRAMS = \
    127 	annotate_hbefore \
    128 	cond_init_destroy \
    129 	cond_timedwait_invalid \
    130 	cond_timedwait_test \
    131 	free_is_write \
    132 	hg01_all_ok \
    133 	hg02_deadlock \
    134 	hg03_inherit \
    135 	hg04_race \
    136 	hg05_race2 \
    137 	hg06_readshared \
    138 	locked_vs_unlocked1 \
    139 	locked_vs_unlocked2 \
    140 	locked_vs_unlocked3 \
    141 	pth_destroy_cond \
    142 	shmem_abits \
    143 	stackteardown \
    144 	t2t \
    145 	tc01_simple_race \
    146 	tc02_simple_tls \
    147 	tc03_re_excl \
    148 	tc04_free_lock \
    149 	tc05_simple_race \
    150 	tc06_two_races \
    151 	tc07_hbl1 \
    152 	tc08_hbl2 \
    153 	tc09_bad_unlock \
    154 	tc10_rec_lock \
    155 	tc11_XCHG \
    156 	tc12_rwl_trivial \
    157 	tc13_laog1 \
    158 	tc14_laog_dinphils \
    159 	tc15_laog_lockdel \
    160 	tc16_byterace \
    161 	tc17_sembar \
    162 	tc18_semabuse \
    163 	tc19_shadowmem \
    164 	tc21_pthonce \
    165 	tc23_bogus_condwait \
    166 	tc24_nonzero_sem \
    167 	tls_threads
    168 
    169 # DDD: it seg faults, and then the Valgrind exit path hangs
    170 # JRS 29 July 09: it craps out in the stack unwinder, in
    171 #==13480==    at 0xF00B81FF: ??? f00b8180 VG_(get_StackTrace_wrk)
    172 #==13480==    by 0xF00B83F8: ??? f00b8340 VG_(get_StackTrace)
    173 #==13480==    by 0xF009FE19: ??? f009fd70 record_ExeContext_wrk
    174 #==13480==    by 0xF009D92E: ??? f009d8c0 construct_error
    175 #==13480==    by 0xF009F001: ??? f009eef0 VG_(maybe_record_error)
    176 #==13480==    by 0xF0081F80: ??? f0081f00 HG_(record_error_misc)
    177 #==13480==    by 0xF0089C00: ??? f0089b80 evh__pre_thread_ll_exit
    178 #==13480==    by 0xF01111D1: ??? f0111070 run_a_thread_NORETURN
    179 #==13480==    by 0xF0111512: ??? f0111500 start_thread_NORETURN
    180 # when the thread being unwound is at __bsdthread_terminate+0
    181 #
    182 # Like Tom says, the stack unwinder protection is bollocks.
    183 # We should junk all previous schemes and simply get the 
    184 # stack unwinder to consult aspacem at each frame (cache-accelerated,
    185 # of course) to check each page it visits is accessible.
    186 #
    187 if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
    188    check_PROGRAMS += \
    189 	tc22_exit_w_lock
    190 endif
    191 
    192 if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
    193 annotate_hbefore_CFLAGS = $(AM_CFLAGS) -mcpu=cortex-a8
    194 tc07_hbl1_CFLAGS        = $(AM_CFLAGS) -mcpu=cortex-a8
    195 tc08_hbl2_CFLAGS        = $(AM_CFLAGS) -mcpu=cortex-a8
    196 else
    197 annotate_hbefore_CFLAGS = $(AM_CFLAGS)
    198 tc07_hbl1_CFLAGS        = $(AM_CFLAGS)
    199 tc08_hbl2_CFLAGS        = $(AM_CFLAGS)
    200 endif
    201 
    202 if HAVE_PTHREAD_BARRIER
    203 check_PROGRAMS += bar_bad bar_trivial
    204 endif
    205 
    206 if HAVE_PTHREAD_MUTEX_TIMEDLOCK
    207 check_PROGRAMS += tc20_verifywrap
    208 endif
    209 
    210 if HAVE_BUILTIN_ATOMIC
    211 check_PROGRAMS += annotate_rwlock
    212 endif
    213 
    214 AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
    215 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
    216 
    217 LDADD = -lpthread
    218 
    219 if VGCONF_OS_IS_DARWIN
    220 annotate_hbefore_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic
    221 else
    222 annotate_hbefore_CFLAGS = $(AM_CFLAGS)
    223 endif
    224