4 $(SYSTEM_TESTSUITE_AT
) \
5 $(SYSTEM_KMOD_TESTSUITE_AT
) \
6 $(SYSTEM_USERSPACE_TESTSUITE_AT
) \
7 $(SYSTEM_OFFLOADS_TESTSUITE_AT
) \
9 $(SYSTEM_KMOD_TESTSUITE
) \
10 $(SYSTEM_USERSPACE_TESTSUITE
) \
11 $(SYSTEM_OFFLOADS_TESTSUITE
) \
13 $(srcdir)/package.m4 \
14 $(srcdir)/tests
/testsuite \
15 $(srcdir)/tests
/testsuite.patch
18 tests
/ovsdb-macros.at \
20 tests
/ofproto-macros.at
29 tests
/check-structs.at \
32 tests
/ofp-actions.at \
55 tests
/tunnel-push-pop.at \
56 tests
/tunnel-push-pop-ipv6.at \
60 tests
/ovs-vswitchd.at \
61 tests
/dpif-netdev.at \
63 tests
/ofproto-dpif.at \
66 tests
/netdev-type.at \
69 tests
/ovsdb-types.at \
71 tests
/ovsdb-column.at \
72 tests
/ovsdb-table.at \
74 tests
/ovsdb-schema.at \
75 tests
/ovsdb-condition.at \
76 tests
/ovsdb-mutation.at \
77 tests
/ovsdb-query.at \
78 tests
/ovsdb-transaction.at \
79 tests
/ovsdb-execution.at \
80 tests
/ovsdb-trigger.at \
82 tests
/ovsdb-replication.at \
83 tests
/ovsdb-server.at \
84 tests
/ovsdb-monitor.at \
89 tests
/ovs-xapi-sync.at \
92 tests
/interface-reconfigure.at \
95 tests
/auto-attach.at \
100 tests
/ovn-controller.at \
101 tests
/ovn-controller-vtep.at \
102 tests
/mcast-snooping.at \
103 tests
/packet-type-aware.at \
106 SYSTEM_KMOD_TESTSUITE_AT
= \
107 tests
/system-common-macros.at \
108 tests
/system-kmod-testsuite.at \
109 tests
/system-kmod-macros.at
111 SYSTEM_USERSPACE_TESTSUITE_AT
= \
112 tests
/system-userspace-testsuite.at \
113 tests
/system-ovn.at \
114 tests
/system-userspace-macros.at \
115 tests
/system-userspace-packet-type-aware.at
117 SYSTEM_TESTSUITE_AT
= \
118 tests
/system-common-macros.at \
119 tests
/system-ovn.at \
120 tests
/system-layer3-tunnels.at \
121 tests
/system-traffic.at
123 SYSTEM_OFFLOADS_TESTSUITE_AT
= \
124 tests
/system-common-macros.at \
125 tests
/system-offloads-traffic.at \
126 tests
/system-offloads-testsuite.at
128 check_SCRIPTS
+= tests
/atlocal
130 TESTSUITE
= $(srcdir)/tests
/testsuite
131 TESTSUITE_PATCH
= $(srcdir)/tests
/testsuite.patch
132 SYSTEM_KMOD_TESTSUITE
= $(srcdir)/tests
/system-kmod-testsuite
133 SYSTEM_USERSPACE_TESTSUITE
= $(srcdir)/tests
/system-userspace-testsuite
134 SYSTEM_OFFLOADS_TESTSUITE
= $(srcdir)/tests
/system-offloads-testsuite
135 DISTCLEANFILES
+= tests
/atconfig tests
/atlocal
137 AUTOTEST_PATH
= utilities
:vswitchd
:ovsdb
:vtep
:tests
:$(PTHREAD_WIN32_DIR_DLL
):ovn
/controller-vtep
:ovn
/northd
:ovn
/utilities
:ovn
/controller
140 set
$(SHELL
) '$(TESTSUITE)' -C tests AUTOTEST_PATH
=$(AUTOTEST_PATH
) $(TESTSUITEFLAGS
); \
141 "$$@" ||
(test X
'$(RECHECK)' = Xyes
&& "$$@" --recheck
)
143 # Python Coverage support.
144 # Requires coverage.py http://nedbatchelder.com/code/coverage/.
147 COVERAGE_FILE
='$(abs_srcdir)/.coverage'
148 check-pycov
: all clean-pycov
149 PYTHONDONTWRITEBYTECODE
=yes COVERAGE_FILE
=$(COVERAGE_FILE
) PYTHON
='$(COVERAGE) run -p' $(SHELL
) '$(TESTSUITE)' -C tests AUTOTEST_PATH
=$(AUTOTEST_PATH
) $(TESTSUITEFLAGS
)
150 @cd
$(srcdir) && $(COVERAGE
) combine
&& COVERAGE_FILE
=$(COVERAGE_FILE
) $(COVERAGE
) annotate
152 @echo
'----------------------------------------------------------------------'
153 @echo
'Annotated coverage source has the ",cover" extension.'
154 @echo
'----------------------------------------------------------------------'
156 @COVERAGE_FILE
=$(COVERAGE_FILE
) $(COVERAGE
) report
159 # Requires build with --enable-coverage and lcov/genhtml in $PATH
160 CLEAN_LOCAL
+= clean-lcov
164 LCOV_OPTS
= -b
$(abs_top_builddir
) -d
$(abs_top_builddir
) -q
-c
--rc lcov_branch_coverage
=1
165 GENHTML_OPTS
= -q
--branch-coverage
--num-spaces
4
166 check-lcov
: all $(check_DATA
) clean-lcov
167 find .
-name
'*.gcda' | xargs
-n1
rm -f
168 -set
$(SHELL
) '$(TESTSUITE)' -C tests AUTOTEST_PATH
=$(AUTOTEST_PATH
) $(TESTSUITEFLAGS
); \
169 "$$@" ||
(test X
'$(RECHECK)' = Xyes
&& "$$@" --recheck
)
171 lcov
$(LCOV_OPTS
) -o tests
/lcov
/coverage.
info
172 genhtml
$(GENHTML_OPTS
) -o tests
/lcov tests
/lcov
/coverage.
info
173 @echo
"coverage report generated at tests/lcov/index.html"
177 valgrind_wrappers
= \
178 tests
/valgrind
/ovn-controller \
179 tests
/valgrind
/ovn-nbctl \
180 tests
/valgrind
/ovn-northd \
181 tests
/valgrind
/ovn-sbctl \
182 tests
/valgrind
/ovs-appctl \
183 tests
/valgrind
/ovs-ofctl \
184 tests
/valgrind
/ovs-vsctl \
185 tests
/valgrind
/ovs-vswitchd \
186 tests
/valgrind
/ovsdb-client \
187 tests
/valgrind
/ovsdb-server \
188 tests
/valgrind
/ovsdb-tool \
189 tests
/valgrind
/ovstest \
190 tests
/valgrind
/test-ovsdb \
191 tests
/valgrind
/test-skiplist \
192 tests
/valgrind
/test-strtok_r \
193 tests
/valgrind
/test-type-props
195 $(valgrind_wrappers
): tests
/valgrind-wrapper.in
196 @
test -d tests
/valgrind || mkdir tests
/valgrind
197 $(AM_V_GEN
) sed
-e
's,[@]wrap_program[@],$@,' \
198 $(top_srcdir
)/tests
/valgrind-wrapper.in
> $@.tmp
&& \
201 CLEANFILES
+= $(valgrind_wrappers
)
202 EXTRA_DIST
+= tests
/valgrind-wrapper.in
204 VALGRIND
= valgrind
--log-file
=valgrind.
%p
--leak-check
=full \
205 --suppressions
=$(abs_top_srcdir
)/tests
/glibc.supp \
206 --suppressions
=$(abs_top_srcdir
)/tests
/openssl.supp
--num-callers
=20
207 HELGRIND
= valgrind
--log-file
=helgrind.
%p
--tool
=helgrind \
208 --suppressions
=$(abs_top_srcdir
)/tests
/glibc.supp \
209 --suppressions
=$(abs_top_srcdir
)/tests
/openssl.supp
--num-callers
=20
210 EXTRA_DIST
+= tests
/glibc.supp tests
/openssl.supp
211 check-valgrind
: all $(valgrind_wrappers
) $(check_DATA
)
212 $(SHELL
) '$(TESTSUITE)' -C tests CHECK_VALGRIND
=true VALGRIND
='$(VALGRIND)' AUTOTEST_PATH
='tests/valgrind:$(AUTOTEST_PATH)' -d
$(TESTSUITEFLAGS
)
214 @echo
'----------------------------------------------------------------------'
215 @echo
'Valgrind output can be found in tests/testsuite.dir/*/valgrind.*'
216 @echo
'----------------------------------------------------------------------'
217 check-helgrind
: all $(valgrind_wrappers
) $(check_DATA
)
218 -$(SHELL
) '$(TESTSUITE)' -C tests CHECK_VALGRIND
=true VALGRIND
='$(HELGRIND)' AUTOTEST_PATH
='tests/valgrind:$(AUTOTEST_PATH)' -d
$(TESTSUITEFLAGS
)
224 $(AM_V_at
)srcdir='$(srcdir)' $(SHELL
) $(srcdir)/tests
/run-oftest
225 EXTRA_DIST
+= tests
/run-oftest
229 $(AM_V_at
)srcdir='$(srcdir)' $(SHELL
) $(srcdir)/tests
/run-ryu
230 EXTRA_DIST
+= tests
/run-ryu
232 # Run kmod tests. Assume kernel modules has been installed or linked into the kernel
234 set
$(SHELL
) '$(SYSTEM_KMOD_TESTSUITE)' -C tests AUTOTEST_PATH
='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS
) -j1
; \
235 "$$@" ||
(test X
'$(RECHECK)' = Xyes
&& "$$@" --recheck
)
237 # Testing the out of tree Kernel module
239 $(MAKE
) modules_install
240 modprobe
-r
-a vport-geneve vport-gre vport-lisp vport-stt vport-vxlan openvswitch
243 check-system-userspace
: all
244 set
$(SHELL
) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests AUTOTEST_PATH
='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS
) -j1
; \
245 "$$@" ||
(test X
'$(RECHECK)' = Xyes
&& "$$@" --recheck
)
248 set
$(SHELL
) '$(SYSTEM_OFFLOADS_TESTSUITE)' -C tests AUTOTEST_PATH
='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS
) -j1
; \
249 "$$@" ||
(test X
'$(RECHECK)' = Xyes
&& "$$@" --recheck
)
252 test ! -f
'$(TESTSUITE)' ||
$(SHELL
) '$(TESTSUITE)' -C tests
--clean
254 AUTOTEST
= $(AUTOM4TE
) --language
=autotest
257 $(TESTSUITE
): package.m4
$(TESTSUITE_AT
) $(COMMON_MACROS_AT
) $(TESTSUITE_PATCH
)
258 $(AM_V_GEN
)$(AUTOTEST
) -I
'$(srcdir)' -o testsuite.tmp
$@.at
259 patch
-p0 testsuite.tmp
$(TESTSUITE_PATCH
)
260 $(AM_V_at
)mv testsuite.tmp
$@
262 $(TESTSUITE
): package.m4
$(TESTSUITE_AT
) $(COMMON_MACROS_AT
)
263 $(AM_V_GEN
)$(AUTOTEST
) -I
'$(srcdir)' -o
$@.tmp
$@.at
264 $(AM_V_at
)mv
$@.tmp
$@
267 $(SYSTEM_KMOD_TESTSUITE
): package.m4
$(SYSTEM_TESTSUITE_AT
) $(SYSTEM_KMOD_TESTSUITE_AT
) $(COMMON_MACROS_AT
)
268 $(AM_V_GEN
)$(AUTOTEST
) -I
'$(srcdir)' -o
$@.tmp
$@.at
269 $(AM_V_at
)mv
$@.tmp
$@
271 $(SYSTEM_USERSPACE_TESTSUITE
): package.m4
$(SYSTEM_TESTSUITE_AT
) $(SYSTEM_USERSPACE_TESTSUITE_AT
) $(COMMON_MACROS_AT
)
272 $(AM_V_GEN
)$(AUTOTEST
) -I
'$(srcdir)' -o
$@.tmp
$@.at
273 $(AM_V_at
)mv
$@.tmp
$@
275 $(SYSTEM_OFFLOADS_TESTSUITE
): package.m4
$(SYSTEM_TESTSUITE_AT
) $(SYSTEM_OFFLOADS_TESTSUITE_AT
) $(COMMON_MACROS_AT
)
276 $(AM_V_GEN
)$(AUTOTEST
) -I
'$(srcdir)' -o
$@.tmp
$@.at
277 $(AM_V_at
)mv
$@.tmp
$@
279 # The `:;' works around a Bash 3.2 bug when the output is not writeable.
280 $(srcdir)/package.m4
: $(top_srcdir
)/configure.ac
282 echo
'# Signature of the current package.' && \
283 echo
'm4_define([AT_PACKAGE_NAME], [$(PACKAGE_NAME)])' && \
284 echo
'm4_define([AT_PACKAGE_TARNAME], [$(PACKAGE_TARNAME)])' && \
285 echo
'm4_define([AT_PACKAGE_VERSION], [$(PACKAGE_VERSION)])' && \
286 echo
'm4_define([AT_PACKAGE_STRING], [$(PACKAGE_STRING)])' && \
287 echo
'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \
288 } >'$(srcdir)/package.m4'
290 noinst_PROGRAMS
+= tests
/test-ovsdb
291 tests_test_ovsdb_SOURCES
= tests
/test-ovsdb.c
292 nodist_tests_test_ovsdb_SOURCES
= tests
/idltest.c tests
/idltest.h
293 EXTRA_DIST
+= tests
/uuidfilt.pl tests
/ovsdb-monitor-sort.pl
294 tests_test_ovsdb_LDADD
= ovsdb
/libovsdb.la lib
/libopenvswitch.la
296 noinst_PROGRAMS
+= tests
/test-lib
297 tests_test_lib_SOURCES
= \
299 tests_test_lib_LDADD
= lib
/libopenvswitch.la
301 # idltest schema and IDL
302 OVSIDL_BUILT
+= tests
/idltest.c tests
/idltest.h tests
/idltest.ovsidl
303 IDLTEST_IDL_FILES
= tests
/idltest.ovsschema tests
/idltest.ann
304 EXTRA_DIST
+= $(IDLTEST_IDL_FILES
) tests
/idltest2.ovsschema
305 tests
/idltest.ovsidl
: $(IDLTEST_IDL_FILES
)
306 $(AM_V_GEN
)$(OVSDB_IDLC
) -C
$(srcdir) annotate
$(IDLTEST_IDL_FILES
) > $@.tmp
&& \
309 tests
/idltest.c
: tests
/idltest.h
312 noinst_PROGRAMS
+= tests
/test-dpdkr
313 tests_test_dpdkr_SOURCES
= \
314 tests
/dpdk
/ring_client.c
315 tests_test_dpdkr_LDADD
= lib
/libopenvswitch.la
$(LIBS
)
318 noinst_PROGRAMS
+= tests
/ovstest
319 tests_ovstest_SOURCES
= \
322 tests
/test-aes128.c \
323 tests
/test-atomic.c \
324 tests
/test-bundle.c \
325 tests
/test-byte-order.c \
326 tests
/test-classifier.c \
329 tests
/test-conntrack.c \
334 tests
/test-hindex.c \
337 tests
/test-jsonrpc.c \
339 tests
/test-lockfile.c \
340 tests
/test-multipath.c \
341 tests
/test-netflow.c \
343 tests
/test-ofpbuf.c \
345 tests
/test-packets.c \
346 tests
/test-random.c \
348 tests
/test-reconnect.c \
352 tests
/test-skiplist.c \
354 tests
/test-unixctl.c \
357 tests
/test-bitmap.c \
362 tests_ovstest_SOURCES
+= \
363 tests
/test-unix-socket.c
367 tests_ovstest_SOURCES
+= \
368 tests
/test-netlink-conntrack.c
371 tests_ovstest_LDADD
= lib
/libopenvswitch.la ovn
/lib
/libovn.la
372 dist_check_SCRIPTS
= tests
/flowgen.pl
374 noinst_PROGRAMS
+= tests
/test-strtok_r
375 tests_test_strtok_r_SOURCES
= tests
/test-strtok_r.c
377 noinst_PROGRAMS
+= tests
/test-type-props
378 tests_test_type_props_SOURCES
= tests
/test-type-props.c
383 tests
/test-daemon.py \
385 tests
/test-jsonrpc.py \
387 tests
/test-ovsdb.py \
388 tests
/test-reconnect.py \
389 tests
/MockXenAPI.py \
390 tests
/test-unix-socket.py \
391 tests
/test-unixctl.py \
393 EXTRA_DIST
+= $(CHECK_PYFILES
)
394 PYCOV_CLEAN_FILES
+= $(CHECK_PYFILES
:.py
=.py
,cover
) .coverage
396 FLAKE8_PYFILES
+= $(CHECK_PYFILES
)
400 tests
/testpki-cacert.pem \
401 tests
/testpki-cert.pem \
402 tests
/testpki-privkey.pem \
403 tests
/testpki-req.pem \
404 tests
/testpki-cert2.pem \
405 tests
/testpki-privkey2.pem \
406 tests
/testpki-req2.pem
407 check_DATA
+= $(TESTPKI_FILES
)
408 CLEANFILES
+= $(TESTPKI_FILES
)
410 tests
/testpki-cacert.pem
: tests
/pki
/stamp
411 $(AM_V_GEN
)cp tests
/pki
/switchca
/cacert.pem
$@
412 tests
/testpki-cert.pem
: tests
/pki
/stamp
413 $(AM_V_GEN
)cp tests
/pki
/test-cert.pem
$@
414 tests
/testpki-req.pem
: tests
/pki
/stamp
415 $(AM_V_GEN
)cp tests
/pki
/test-req.pem
$@
416 tests
/testpki-privkey.pem
: tests
/pki
/stamp
417 $(AM_V_GEN
)cp tests
/pki
/test-privkey.pem
$@
418 tests
/testpki-cert2.pem
: tests
/pki
/stamp
419 $(AM_V_GEN
)cp tests
/pki
/test2-cert.pem
$@
420 tests
/testpki-req2.pem
: tests
/pki
/stamp
421 $(AM_V_GEN
)cp tests
/pki
/test2-req.pem
$@
422 tests
/testpki-privkey2.pem
: tests
/pki
/stamp
423 $(AM_V_GEN
)cp tests
/pki
/test2-privkey.pem
$@
425 OVS_PKI
= $(SHELL
) $(srcdir)/utilities
/ovs-pki.in
--dir=tests
/pki
--log
=tests
/ovs-pki.log
427 $(AM_V_at
)rm -f tests
/pki
/stamp
428 $(AM_V_at
)rm -rf tests
/pki
429 $(AM_V_GEN
)$(OVS_PKI
) init
&& \
430 $(OVS_PKI
) req
+sign tests
/pki
/test && \
431 $(OVS_PKI
) req
+sign tests
/pki
/test2
&& \
433 CLEANFILES
+= tests
/ovs-pki.log
435 CLEAN_LOCAL
+= clean-pki
437 rm -f tests
/pki
/stamp