tests/json.at \
tests/jsonrpc.at \
tests/jsonrpc-py.at \
+ tests/pmd.at \
tests/tunnel.at \
tests/tunnel-push-pop.at \
+ tests/tunnel-push-pop-ipv6.at \
tests/lockfile.at \
tests/reconnect.at \
tests/ovs-vswitchd.at \
tests/dpctl.at \
tests/ofproto-dpif.at \
tests/bridge.at \
- tests/vlan-splinters.at \
tests/ofproto.at \
+ tests/netdev-type.at \
tests/ovsdb.at \
tests/ovsdb-log.at \
tests/ovsdb-types.at \
tests/ovsdb-execution.at \
tests/ovsdb-trigger.at \
tests/ovsdb-tool.at \
+ tests/ovsdb-replication.at \
tests/ovsdb-server.at \
tests/ovsdb-monitor.at \
tests/ovsdb-idl.at \
+ tests/ovsdb-lock.at \
tests/ovs-vsctl.at \
tests/ovs-monitor-ipsec.at \
tests/ovs-xapi-sync.at \
tests/vtep-ctl.at \
tests/auto-attach.at \
tests/ovn.at \
+ tests/ovn-nbctl.at \
tests/ovn-sbctl.at \
+ tests/ovn-controller.at \
tests/ovn-controller-vtep.at
SYSTEM_KMOD_TESTSUITE_AT = \
SYSTEM_USERSPACE_TESTSUITE_AT = \
tests/system-userspace-testsuite.at \
+ tests/system-ovn.at \
tests/system-userspace-macros.at
SYSTEM_TESTSUITE_AT = \
tests/system-common-macros.at \
+ tests/system-ovn.at \
tests/system-traffic.at
TESTSUITE = $(srcdir)/tests/testsuite
SYSTEM_USERSPACE_TESTSUITE = $(srcdir)/tests/system-userspace-testsuite
DISTCLEANFILES += tests/atconfig tests/atlocal
-AUTOTEST_PATH = utilities:vswitchd:ovsdb:vtep:tests:$(PTHREAD_WIN32_DIR_DLL):ovn:ovn/controller-vtep:ovn/northd:ovn/utilities
+AUTOTEST_PATH = utilities:vswitchd:ovsdb:vtep:tests:$(PTHREAD_WIN32_DIR_DLL):ovn/controller-vtep:ovn/northd:ovn/utilities:ovn/controller
check-local: tests/atconfig tests/atlocal $(TESTSUITE)
- $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS)
+ set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS); \
+ "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck)
\f
# Python Coverage support.
# Requires coverage.py http://nedbatchelder.com/code/coverage/.
@echo
@COVERAGE_FILE=$(COVERAGE_FILE) $(COVERAGE) report
\f
+# lcov support
+# Requires build with --enable-coverage and lcov/genhtml in $PATH
+CLEAN_LOCAL += clean-lcov
+clean-lcov:
+ rm -fr tests/lcov
+
+LCOV_OPTS = -b $(abs_top_builddir) -d $(abs_top_builddir) -q -c --rc lcov_branch_coverage=1
+GENHTML_OPTS = -q --branch-coverage --num-spaces 4
+check-lcov: all tests/atconfig tests/atlocal $(TESTSUITE) $(check_DATA) clean-lcov
+ find . -name '*.gcda' | xargs -n1 rm -f
+ -set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS); \
+ "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck)
+ mkdir -p tests/lcov
+ lcov $(LCOV_OPTS) -o tests/lcov/coverage.info
+ genhtml $(GENHTML_OPTS) -o tests/lcov tests/lcov/coverage.info
+ @echo "coverage report generated at tests/lcov/index.html"
+\f
# valgrind support
valgrind_wrappers = \
+ tests/valgrind/ovn-controller \
+ tests/valgrind/ovn-nbctl \
+ tests/valgrind/ovn-northd \
+ tests/valgrind/ovn-sbctl \
tests/valgrind/ovs-appctl \
tests/valgrind/ovs-ofctl \
tests/valgrind/ovstest \
tests/valgrind/test-bundle \
tests/valgrind/test-byte-order \
tests/valgrind/test-classifier \
+ tests/valgrind/test-ccmap \
tests/valgrind/test-cmap \
tests/valgrind/test-csum \
tests/valgrind/test-flows \
tests/valgrind/test-stp \
tests/valgrind/test-type-props \
tests/valgrind/test-unix-socket \
+ tests/valgrind/test-unixctl \
tests/valgrind/test-uuid \
tests/valgrind/test-vconn
VALGRIND = valgrind --log-file=valgrind.%p --leak-check=full \
--suppressions=$(abs_top_srcdir)/tests/glibc.supp \
--suppressions=$(abs_top_srcdir)/tests/openssl.supp --num-callers=20
+HELGRIND = valgrind --log-file=helgrind.%p --tool=helgrind \
+ --suppressions=$(abs_top_srcdir)/tests/glibc.supp \
+ --suppressions=$(abs_top_srcdir)/tests/openssl.supp --num-callers=20
EXTRA_DIST += tests/glibc.supp tests/openssl.supp
check-valgrind: all tests/atconfig tests/atlocal $(TESTSUITE) \
$(valgrind_wrappers) $(check_DATA)
@echo '----------------------------------------------------------------------'
@echo 'Valgrind output can be found in tests/testsuite.dir/*/valgrind.*'
@echo '----------------------------------------------------------------------'
+check-helgrind: all tests/atconfig tests/atlocal $(TESTSUITE) \
+ $(valgrind_wrappers) $(check_DATA)
+ -$(SHELL) '$(TESTSUITE)' -C tests CHECK_VALGRIND=true VALGRIND='$(HELGRIND)' AUTOTEST_PATH='tests/valgrind:$(AUTOTEST_PATH)' -d $(TESTSUITEFLAGS)
+
\f
# OFTest support.
\f
# Run kmod tests. Assume kernel modules has been installed or linked into the kernel
check-kernel: all tests/atconfig tests/atlocal $(SYSTEM_KMOD_TESTSUITE)
- $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' -d $(TESTSUITEFLAGS)
+ $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' -d $(TESTSUITEFLAGS) -j1
# Testing the out of tree Kernel module
check-kmod: all tests/atconfig tests/atlocal $(SYSTEM_KMOD_TESTSUITE)
$(MAKE) modules_install
- modprobe -r openvswitch
+ modprobe -r -a vport-geneve vport-gre vport-lisp vport-stt vport-vxlan openvswitch
$(MAKE) check-kernel
check-system-userspace: all tests/atconfig tests/atlocal $(SYSTEM_USERSPACE_TESTSUITE)
- $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS)
+ $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS) -j1
clean-local:
test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' -C tests --clean
tests/test-bundle.c \
tests/test-byte-order.c \
tests/test-classifier.c \
+ tests/test-ccmap.c \
tests/test-cmap.c \
tests/test-csum.c \
tests/test-flows.c \
tests/test-ovn.c \
tests/test-packets.c \
tests/test-random.c \
+ tests/test-rcu.c \
tests/test-reconnect.c \
tests/test-rstp.c \
tests/test-sflow.c \
tests/test-sha1.c \
tests/test-stp.c \
+ tests/test-unixctl.c \
tests/test-util.c \
tests/test-uuid.c \
tests/test-bitmap.c \
tests/test-unix-socket.c
endif
+if LINUX
+tests_ovstest_SOURCES += \
+ tests/test-netlink-conntrack.c
+endif
+
tests_ovstest_LDADD = lib/libopenvswitch.la ovn/lib/libovn.la
dist_check_SCRIPTS = tests/flowgen.pl
tests/test-daemon.py \
tests/test-json.py \
tests/test-jsonrpc.py \
+ tests/test-l7.py \
tests/test-ovsdb.py \
tests/test-reconnect.py \
tests/MockXenAPI.py \
EXTRA_DIST += $(CHECK_PYFILES)
PYCOV_CLEAN_FILES += $(CHECK_PYFILES:.py=.py,cover) .coverage
+FLAKE8_PYFILES += $(CHECK_PYFILES)
+
if HAVE_OPENSSL
TESTPKI_FILES = \
tests/testpki-cacert.pem \