1# test/Makefile.am for libevent
2# Copyright 2000-2007 Niels Provos
3# Copyright 2007-2012 Niels Provos and Nick Mathewson
4#
5# See LICENSE for copying information.
6
7regress_CPPFLAGS = -DTINYTEST_LOCAL
8
9EXTRA_DIST+=					\
10	test/check-dumpevents.py		\
11	test/regress.gen.c			\
12	test/regress.gen.h				\
13	test/regress.rpc				\
14	test/rpcgen_wrapper.sh			\
15	test/print-winsock-errors.c			\
16	test/test.sh
17
18TESTPROGRAMS = \
19	test/bench					\
20	test/bench_cascade				\
21	test/bench_http				\
22	test/bench_httpclient			\
23	test/test-changelist				\
24	test/test-dumpevents				\
25	test/test-eof				\
26	test/test-closed				\
27	test/test-fdleak				\
28	test/test-init				\
29	test/test-ratelim				\
30	test/test-time				\
31	test/test-weof \
32	test/regress
33
34if BUILD_REGRESS
35noinst_PROGRAMS += $(TESTPROGRAMS)
36EXTRA_PROGRAMS+= test/regress
37endif
38
39noinst_HEADERS+=				\
40	test/regress.h				\
41	test/regress_thread.h			\
42	test/tinytest.h				\
43	test/tinytest_local.h			\
44	test/tinytest_macros.h
45
46TESTS = \
47	test_runner_epoll \
48	test_runner_select \
49	test_runner_kqueue \
50	test_runner_evport \
51	test_runner_devpoll \
52	test_runner_poll \
53	test_runner_win32 \
54	test_runner_timerfd \
55	test_runner_changelist \
56	test_runner_timerfd_changelist
57LOG_COMPILER = true
58TESTS_COMPILER = true
59
60test_runner_epoll: $(top_srcdir)/test/test.sh
61	$(top_srcdir)/test/test.sh -b EPOLL
62test_runner_select: $(top_srcdir)/test/test.sh
63	$(top_srcdir)/test/test.sh -b SELECT
64test_runner_kqueue: $(top_srcdir)/test/test.sh
65	$(top_srcdir)/test/test.sh -b KQUEUE
66test_runner_evport: $(top_srcdir)/test/test.sh
67	$(top_srcdir)/test/test.sh -b EVPORT
68test_runner_devpoll: $(top_srcdir)/test/test.sh
69	$(top_srcdir)/test/test.sh -b DEVPOLL
70test_runner_poll: $(top_srcdir)/test/test.sh
71	$(top_srcdir)/test/test.sh -b POLL
72test_runner_win32: $(top_srcdir)/test/test.sh
73	$(top_srcdir)/test/test.sh -b WIN32
74test_runner_timerfd: $(top_srcdir)/test/test.sh
75	$(top_srcdir)/test/test.sh -b "" -t
76test_runner_changelist: $(top_srcdir)/test/test.sh
77	$(top_srcdir)/test/test.sh -b "" -c
78test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh
79	$(top_srcdir)/test/test.sh -b "" -T
80
81DISTCLEANFILES += test/regress.gen.c test/regress.gen.h
82
83if BUILD_REGRESS
84BUILT_SOURCES += test/regress.gen.c test/regress.gen.h
85endif
86
87test_test_init_SOURCES = test/test-init.c
88test_test_init_LDADD = libevent_core.la
89test_test_dumpevents_SOURCES = test/test-dumpevents.c
90test_test_dumpevents_LDADD = libevent_core.la
91test_test_eof_SOURCES = test/test-eof.c
92test_test_eof_LDADD = libevent_core.la
93test_test_closed_SOURCES = test/test-closed.c
94test_test_closed_LDADD = libevent_core.la
95test_test_changelist_SOURCES = test/test-changelist.c
96test_test_changelist_LDADD = libevent_core.la
97test_test_weof_SOURCES = test/test-weof.c
98test_test_weof_LDADD = libevent_core.la
99test_test_time_SOURCES = test/test-time.c
100test_test_time_LDADD = libevent_core.la
101test_test_ratelim_SOURCES = test/test-ratelim.c
102test_test_ratelim_LDADD = libevent_core.la -lm
103test_test_fdleak_SOURCES = test/test-fdleak.c
104test_test_fdleak_LDADD = libevent_core.la
105
106test_regress_SOURCES = 				\
107	test/regress.c				\
108	test/regress.gen.c				\
109	test/regress.gen.h				\
110	test/regress_buffer.c			\
111	test/regress_bufferevent.c			\
112	test/regress_dns.c				\
113	test/regress_et.c				\
114	test/regress_finalize.c				\
115	test/regress_http.c				\
116	test/regress_listener.c			\
117	test/regress_main.c				\
118	test/regress_minheap.c			\
119	test/regress_rpc.c				\
120	test/regress_testutils.c			\
121	test/regress_testutils.h			\
122	test/regress_util.c				\
123	test/tinytest.c				\
124	$(regress_thread_SOURCES)		\
125	$(regress_zlib_SOURCES)
126
127if PTHREADS
128regress_thread_SOURCES = test/regress_thread.c
129PTHREAD_LIBS += libevent_pthreads.la
130endif
131if BUILD_WIN32
132if THREADS
133regress_thread_SOURCES = test/regress_thread.c
134endif
135endif
136if ZLIB_REGRESS
137regress_zlib_SOURCES = test/regress_zlib.c
138endif
139if BUILD_WIN32
140test_regress_SOURCES += test/regress_iocp.c
141endif
142
143test_regress_LDADD = $(LIBEVENT_GC_SECTIONS) libevent_core.la libevent_extra.la $(PTHREAD_LIBS) $(ZLIB_LIBS)
144test_regress_CPPFLAGS = $(AM_CPPFLAGS) $(PTHREAD_CFLAGS) $(ZLIB_CFLAGS) -Itest
145test_regress_LDFLAGS = $(PTHREAD_CFLAGS)
146
147if OPENSSL
148test_regress_SOURCES += test/regress_ssl.c
149test_regress_CPPFLAGS += $(OPENSSL_INCS)
150test_regress_LDADD += libevent_openssl.la $(OPENSSL_LIBS) ${OPENSSL_LIBADD}
151endif
152
153test_bench_SOURCES = test/bench.c
154test_bench_LDADD = $(LIBEVENT_GC_SECTIONS) libevent.la
155test_bench_cascade_SOURCES = test/bench_cascade.c
156test_bench_cascade_LDADD = $(LIBEVENT_GC_SECTIONS) libevent.la
157test_bench_http_SOURCES = test/bench_http.c
158test_bench_http_LDADD = $(LIBEVENT_GC_SECTIONS) libevent.la
159test_bench_httpclient_SOURCES = test/bench_httpclient.c
160test_bench_httpclient_LDADD = $(LIBEVENT_GC_SECTIONS) libevent_core.la
161
162test/regress.gen.c test/regress.gen.h: test/rpcgen-attempted
163
164test/rpcgen-attempted: test/regress.rpc event_rpcgen.py test/rpcgen_wrapper.sh
165	$(AM_V_GEN)date -u > $@
166	$(AM_V_at)if $(srcdir)/test/rpcgen_wrapper.sh $(srcdir)/test; then \
167	   true; \
168	else \
169	   echo "No Python installed; stubbing out RPC test." >&2; \
170	   echo " "> test/regress.gen.c; \
171	   echo "#define NO_PYTHON_EXISTS" > test/regress.gen.h; \
172	fi
173
174CLEANFILES += test/rpcgen-attempted
175
176$(TESTPROGRAMS) : libevent.la
177