blob: 6c7ab839eddbebc59d1fec3c1e12722f61f3fc7e [file] [log] [blame]
AM_CPPFLAGS = -I. -I$(top_srcdir)/src -I$(top_srcdir)/include
AM_CFLAGS =
AM_LDFLAGS = -L$(top_builddir)
if MSVC
AM_CFLAGS += -W3 -D_CRT_SECURE_NO_WARNINGS
else
AM_CFLAGS += -Wall
AM_LDFLAGS += -L$(top_builddir)/fakelib
endif
LDADD = $(top_builddir)/libwinpthread.la
check_LIBRARIES = \
libbenchlib.a
libbenchlib_a_SOURCES = \
benchtests/benchlib.c
benchtests_benchtest1_LDADD = libbenchlib.a $(LDADD)
benchtests_benchtest2_LDADD = libbenchlib.a $(LDADD)
benchtests_benchtest3_LDADD = libbenchlib.a $(LDADD)
benchtests_benchtest4_LDADD = libbenchlib.a $(LDADD)
benchtests_benchtest5_LDADD = libbenchlib.a $(LDADD)
# TODO: fix pthread_cancel/cancel9
#
# pthread_exit/exit1 is skipped; exiting the main thread can be problematic,
# in case something injects extra threads into the process.
# That test also fails on AArch64 on modern versions of Windows, possibly
# related to modern HW - see
# https://developercommunity.visualstudio.com/t/Crash-when-doing-ExitThread-on-main-thre/10975751
# for an upstream bug report about that.
check_PROGRAMS = \
benchtests/benchtest1 \
benchtests/benchtest2 \
benchtests/benchtest3 \
benchtests/benchtest4 \
benchtests/benchtest5 \
clock/t_clock_getres \
clock/t_clock_gettime \
clock/t_clock_nanosleep \
clock/t_clock_settime \
clock/t_nanosleep \
exceptions/exception1 \
exceptions/exception2 \
exceptions/exception3 \
misc/loadfree \
misc/tryentercs \
misc/tryentercs2 \
pthread_barrier/barrier1 \
pthread_barrier/barrier2 \
pthread_barrier/barrier3 \
pthread_barrier/barrier4 \
pthread_barrier/barrier5 \
pthread_barrier/barrier6 \
pthread_cancel/cancel1 \
pthread_cancel/cancel2 \
pthread_cancel/cancel3 \
pthread_cancel/cancel4 \
pthread_cancel/cancel5 \
pthread_cancel/cancel6a \
pthread_cancel/cancel6d \
pthread_cancel/cancel7 \
pthread_cancel/cancel8 \
pthread_cleanup/cleanup0 \
pthread_cleanup/cleanup1 \
pthread_cleanup/cleanup2 \
pthread_cleanup/cleanup3 \
pthread_cond/condvar1 \
pthread_cond/condvar1_1 \
pthread_cond/condvar1_2 \
pthread_cond/condvar2 \
pthread_cond/condvar2_1 \
pthread_cond/condvar3 \
pthread_cond/condvar3_1 \
pthread_cond/condvar3_2 \
pthread_cond/condvar3_3 \
pthread_cond/condvar4 \
pthread_cond/condvar5 \
pthread_cond/condvar6 \
pthread_cond/condvar7 \
pthread_cond/condvar8 \
pthread_cond/condvar9 \
pthread_create/create1 \
pthread_create/create2 \
pthread_create/create3 \
pthread_exit/exit2 \
pthread_exit/exit3 \
pthread_exit/exit4 \
pthread_exit/exit5 \
pthread_join/join1 \
pthread_join/join2 \
pthread_join/join3 \
pthread_misc/context1 \
pthread_misc/count1 \
pthread_misc/delay1 \
pthread_misc/delay2 \
pthread_misc/detach1 \
pthread_misc/equal1 \
pthread_misc/errno1 \
pthread_misc/eyal1 \
pthread_misc/inherit1 \
pthread_misc/kill1 \
pthread_misc/reuse1 \
pthread_misc/reuse2 \
pthread_misc/self1 \
pthread_misc/self2 \
pthread_misc/stress1 \
pthread_misc/valid1 \
pthread_misc/valid2 \
pthread_mutex/mutex1 \
pthread_mutex/mutex1e \
pthread_mutex/mutex1n \
pthread_mutex/mutex1r \
pthread_mutex/mutex2 \
pthread_mutex/mutex2e \
pthread_mutex/mutex2r \
pthread_mutex/mutex3 \
pthread_mutex/mutex3e \
pthread_mutex/mutex3r \
pthread_mutex/mutex4 \
pthread_mutex/mutex5 \
pthread_mutex/mutex6 \
pthread_mutex/mutex6e \
pthread_mutex/mutex6es \
pthread_mutex/mutex6n \
pthread_mutex/mutex6r \
pthread_mutex/mutex6rs \
pthread_mutex/mutex6s \
pthread_mutex/mutex7 \
pthread_mutex/mutex7e \
pthread_mutex/mutex7n \
pthread_mutex/mutex7r \
pthread_mutex/mutex8 \
pthread_mutex/mutex8e \
pthread_mutex/mutex8n \
pthread_mutex/mutex8r \
pthread_once/once1 \
pthread_once/once2 \
pthread_once/once3 \
pthread_once/once4 \
pthread_rwlock/rwlock1 \
pthread_rwlock/rwlock2 \
pthread_rwlock/rwlock2_t \
pthread_rwlock/rwlock3 \
pthread_rwlock/rwlock3_t \
pthread_rwlock/rwlock4 \
pthread_rwlock/rwlock4_t \
pthread_rwlock/rwlock5 \
pthread_rwlock/rwlock5_t \
pthread_rwlock/rwlock6 \
pthread_rwlock/rwlock6_t \
pthread_rwlock/rwlock6_t2 \
pthread_rwlock/rwlock7 \
pthread_rwlock/rwlock8 \
pthread_spinlock/spin1 \
pthread_spinlock/spin2 \
pthread_spinlock/spin3 \
pthread_spinlock/spin4 \
pthread_tls/tsd1 \
pthread_tls/tsd2 \
sched/priority1 \
sched/priority2 \
semaphore/semaphore1 \
semaphore/semaphore2 \
semaphore/semaphore3 \
semaphore/semaphore4 \
semaphore/semaphore4t \
semaphore/semaphore5
TESTS = $(check_PROGRAMS)
# TODO: investigate why these tests fail
XFAIL_TESTS = \
pthread_mutex/mutex4 \
pthread_mutex/mutex6e \
pthread_mutex/mutex6es \
pthread_mutex/mutex7 \
pthread_mutex/mutex7e \
pthread_mutex/mutex7n \
pthread_spinlock/spin1 \
pthread_spinlock/spin3