1SUBDIRS		= libtap
2
3bson_unit_tests	= \
4		unit/bson/bson_new \
5		unit/bson/bson_empty \
6		unit/bson/bson_validate_key \
7		\
8		unit/bson/bson_append_string \
9		unit/bson/bson_append_double \
10		unit/bson/bson_append_boolean \
11		unit/bson/bson_append_utc_datetime \
12		unit/bson/bson_append_null \
13		unit/bson/bson_append_int32 \
14		unit/bson/bson_append_int64 \
15		unit/bson/bson_append_regexp \
16		unit/bson/bson_append_binary \
17		unit/bson/bson_append_js_code \
18		unit/bson/bson_append_symbol \
19		unit/bson/bson_append_js_code_w_scope \
20		unit/bson/bson_append_timestamp \
21		unit/bson/bson_append_oid \
22		unit/bson/bson_append_document \
23		unit/bson/bson_append_array \
24		\
25		unit/bson/bson_reset \
26		unit/bson/bson_new_from_data \
27		\
28		unit/bson/bson_build \
29		unit/bson/bson_build_full \
30		\
31		unit/bson/bson_type_as_string \
32		\
33		unit/bson/bson_cursor_new \
34		unit/bson/bson_find \
35		unit/bson/bson_cursor_next \
36		unit/bson/bson_cursor_find_next \
37		unit/bson/bson_cursor_find \
38		unit/bson/bson_cursor_type \
39		unit/bson/bson_cursor_type_as_string \
40		unit/bson/bson_cursor_key \
41		\
42		unit/bson/bson_cursor_get_string \
43		unit/bson/bson_cursor_get_double \
44		unit/bson/bson_cursor_get_document \
45		unit/bson/bson_cursor_get_array \
46		unit/bson/bson_cursor_get_binary \
47		unit/bson/bson_cursor_get_oid \
48		unit/bson/bson_cursor_get_boolean \
49		unit/bson/bson_cursor_get_utc_datetime \
50		unit/bson/bson_cursor_get_regex \
51		unit/bson/bson_cursor_get_javascript \
52		unit/bson/bson_cursor_get_symbol \
53		unit/bson/bson_cursor_get_javascript_w_scope \
54		unit/bson/bson_cursor_get_int32 \
55		unit/bson/bson_cursor_get_timestamp \
56		unit/bson/bson_cursor_get_int64
57
58bson_func_tests	= \
59		func/bson/huge_doc \
60		func/bson/f_weird_types
61
62bson_perf_tests	= \
63		perf/bson/p_bson_find
64
65mongo_utils_unit_tests	= \
66		unit/mongo/utils/oid_init \
67		unit/mongo/utils/oid_new \
68		unit/mongo/utils/oid_new_with_time \
69		unit/mongo/utils/oid_as_string \
70		unit/mongo/utils/parse_addr
71
72mongo_wire_unit_tests	= \
73		unit/mongo/wire/packet_new \
74		unit/mongo/wire/packet_get_set_header \
75		unit/mongo/wire/packet_get_set_header_raw \
76		unit/mongo/wire/packet_get_set_data \
77		\
78		unit/mongo/wire/reply_packet_get_header \
79		unit/mongo/wire/reply_packet_get_data \
80		unit/mongo/wire/reply_packet_get_nth_document \
81		\
82		unit/mongo/wire/cmd_update \
83		unit/mongo/wire/cmd_insert \
84		unit/mongo/wire/cmd_insert_n \
85		unit/mongo/wire/cmd_query \
86		unit/mongo/wire/cmd_get_more \
87		unit/mongo/wire/cmd_delete \
88		unit/mongo/wire/cmd_kill_cursors \
89		unit/mongo/wire/cmd_custom
90
91mongo_client_unit_tests	= \
92		unit/mongo/client/connect \
93		unit/mongo/client/disconnect \
94		unit/mongo/client/packet_send \
95		unit/mongo/client/packet_recv \
96		unit/mongo/client/connection_set_timeout \
97		unit/mongo/client/connection_get_requestid
98
99mongo_client_func_tests = \
100		func/mongo/client/f_client_big_packet
101
102mongo_sync_unit_tests	= \
103		unit/mongo/sync/sync_connect \
104		unit/mongo/sync/sync_conn_seed_add \
105		unit/mongo/sync/sync_reconnect \
106		unit/mongo/sync/sync_disconnect \
107		unit/mongo/sync/sync_get_set_auto_reconnect \
108		unit/mongo/sync/sync_get_set_safe_mode \
109		unit/mongo/sync/sync_get_set_slaveok \
110		unit/mongo/sync/sync_get_set_max_insert_size \
111		unit/mongo/sync/sync_cmd_update \
112		unit/mongo/sync/sync_cmd_insert \
113		unit/mongo/sync/sync_cmd_insert_n \
114		unit/mongo/sync/sync_cmd_query \
115		unit/mongo/sync/sync_cmd_get_more \
116		unit/mongo/sync/sync_cmd_delete \
117		unit/mongo/sync/sync_cmd_kill_cursors \
118		unit/mongo/sync/sync_cmd_custom \
119		unit/mongo/sync/sync_cmd_count \
120		unit/mongo/sync/sync_cmd_create \
121		unit/mongo/sync/sync_cmd_exists \
122		unit/mongo/sync/sync_cmd_drop \
123		unit/mongo/sync/sync_cmd_get_last_error \
124		unit/mongo/sync/sync_cmd_reset_error \
125		unit/mongo/sync/sync_cmd_is_master \
126		unit/mongo/sync/sync_cmd_ping \
127		unit/mongo/sync/sync_cmd_user_add \
128		unit/mongo/sync/sync_cmd_user_remove \
129		unit/mongo/sync/sync_cmd_authenticate \
130		unit/mongo/sync/sync_cmd_index_create \
131		unit/mongo/sync/sync_cmd_index_drop \
132		unit/mongo/sync/sync_cmd_index_drop_all
133
134mongo_sync_func_tests	= \
135		func/mongo/sync/f_sync_max_insert_size \
136		func/mongo/sync/f_sync_conn_seed_add \
137		func/mongo/sync/f_sync_safe_mode \
138		func/mongo/sync/f_sync_auto_reconnect \
139		func/mongo/sync/f_sync_oidtest
140
141mongo_sync_cursor_unit_tests	= \
142		unit/mongo/sync-cursor/sync_cursor_new \
143		unit/mongo/sync-cursor/sync_cursor_next \
144		unit/mongo/sync-cursor/sync_cursor_get_data \
145		unit/mongo/sync-cursor/sync_cursor_free
146
147mongo_sync_cursor_func_tests	= \
148		func/mongo/sync-cursor/f_sync_cursor_iterate \
149		func/mongo/sync-cursor/f_sync_cursor_tailable
150
151mongo_sync_pool_unit_tests	= \
152		unit/mongo/sync-pool/sync_pool_new \
153		unit/mongo/sync-pool/sync_pool_free \
154		unit/mongo/sync-pool/sync_pool_pick \
155		unit/mongo/sync-pool/sync_pool_return
156
157mongo_sync_pool_func_tests	= \
158		func/mongo/sync-pool/f_sync_pool
159
160mongo_sync_gridfs_unit_tests	= \
161		unit/mongo/sync-gridfs/sync_gridfs_new \
162		unit/mongo/sync-gridfs/sync_gridfs_free \
163		unit/mongo/sync-gridfs/sync_gridfs_get_set_chunk_size \
164		unit/mongo/sync-gridfs/sync_gridfs_list \
165		unit/mongo/sync-gridfs/sync_gridfs_remove \
166		unit/mongo/sync-gridfs/sync_gridfs_file_get_metadata
167
168mongo_sync_gridfs_chunk_unit_tests = \
169		unit/mongo/sync-gridfs-chunk/sync_gridfs_chunked_find \
170		unit/mongo/sync-gridfs-chunk/sync_gridfs_chunked_file_new_from_buffer \
171		unit/mongo/sync-gridfs-chunk/sync_gridfs_chunked_file_free \
172		unit/mongo/sync-gridfs-chunk/sync_gridfs_chunked_file_cursor_new \
173		unit/mongo/sync-gridfs-chunk/sync_gridfs_chunked_file_cursor_get_chunk
174
175mongo_sync_gridfs_chunk_func_tests = \
176		func/mongo/sync-gridfs-chunk/f_sync_gridfs_chunk
177
178mongo_sync_gridfs_stream_unit_tests = \
179		unit/mongo/sync-gridfs-stream/sync_gridfs_stream_find \
180		unit/mongo/sync-gridfs-stream/sync_gridfs_stream_new \
181		unit/mongo/sync-gridfs-stream/sync_gridfs_stream_read \
182		unit/mongo/sync-gridfs-stream/sync_gridfs_stream_write \
183		unit/mongo/sync-gridfs-stream/sync_gridfs_stream_seek \
184		unit/mongo/sync-gridfs-stream/sync_gridfs_stream_close
185
186mongo_sync_gridfs_stream_func_tests = \
187		func/mongo/sync-gridfs-stream/f_sync_gridfs_stream
188
189UNIT_TESTS	= ${bson_unit_tests} ${mongo_utils_unit_tests} \
190		${mongo_wire_unit_tests} ${mongo_client_unit_tests} \
191		${mongo_sync_unit_tests} ${mongo_sync_cursor_unit_tests} \
192		${mongo_sync_pool_unit_tests} ${mongo_sync_gridfs_unit_tests} \
193		${mongo_sync_gridfs_chunk_unit_tests} \
194		${mongo_sync_gridfs_stream_unit_tests}
195FUNC_TESTS	= ${bson_func_tests} ${mongo_sync_func_tests} \
196		${mongo_client_func_tests} \
197		${mongo_sync_cursor_func_tests} ${mongo_sync_pool_func_tests} \
198		${mongo_sync_gridfs_func_tests} \
199		${mongo_sync_gridfs_chunk_func_tests} \
200		${mongo_sync_gridfs_stream_func_tests}
201PERF_TESTS	= ${bson_perf_tests}
202TESTCASES	= ${UNIT_TESTS} ${FUNC_TESTS} ${PERF_TESTS}
203
204check_PROGRAMS	= ${TESTCASES} test_cleanup
205
206AM_CFLAGS = -I$(top_srcdir)/src/ -I${top_srcdir}/tests/libtap/ @GLIB_CFLAGS@
207AM_LDFLAGS = -no-install
208LDADD = $(top_builddir)/src/libmongo-client.la ${top_builddir}/tests/libtap/libtap.la @GLIB_LIBS@
209
210EXTRA_DIST = README \
211	     coverage.sh \
212             tools/coverage-report-entry.pl tools/coverage-report.pl \
213             tools/coverage-report.xsl
214
215check-%: BASE=$(subst -,_,$(subst check-,,$@))
216check-%: TESTCASES=$(value $(BASE)_unit_tests) $(value $(BASE)_func_tests) $(value $(BASE)_tests)
217check-%: check-recursive test_cleanup ${TESTCASES}
218	$(AM_V_at) ${builddir}/test_cleanup
219	$(AM_V_GEN) srcdir=${srcdir} prove -e "${PROVE_ENV}" ${PROVE_OPTIONS} ${TESTCASES}
220	$(AM_V_at) ${builddir}/test_cleanup
221
222check: check-recursive test_cleanup ${TESTCASES}
223	$(AM_V_at) ${builddir}/test_cleanup
224	$(AM_V_GEN) srcdir=${srcdir} prove -e "${PROVE_ENV}" ${PROVE_OPTIONS} ${TESTCASES}
225	$(AM_V_at) ${builddir}/test_cleanup
226
227.PHONY: check
228