@@ -37,6 +37,7 @@ Post-v2.5.0
for 2.7+.
- SELinux:
* Introduced SELinux policy package.
+ - New target 'make check-pmd' to test work with PMD interfaces.
v2.5.0 - xx xxx xxxx
---------------------
@@ -5,20 +5,25 @@ EXTRA_DIST += \
$(SYSTEM_KMOD_TESTSUITE_AT) \
$(SYSTEM_USERSPACE_TESTSUITE_AT) \
$(TESTSUITE) \
+ $(TESTSUITE_PMD) \
$(SYSTEM_KMOD_TESTSUITE) \
$(SYSTEM_USERSPACE_TESTSUITE) \
tests/atlocal.in \
$(srcdir)/package.m4 \
$(srcdir)/tests/testsuite \
+ $(srcdir)/tests/testsuite-pmd \
$(srcdir)/tests/testsuite.patch
COMMON_MACROS_AT = \
tests/ovsdb-macros.at \
tests/ovs-macros.at \
- tests/ofproto-macros.at
+ tests/ofproto-macros.at \
+ tests/dummy-macros.at \
+ tests/dummy-pmd-macros.at
TESTSUITE_AT = \
tests/testsuite.at \
+ tests/testsuite-pmd.at \
tests/completion.at \
tests/library.at \
tests/heap.at \
@@ -107,6 +112,7 @@ SYSTEM_TESTSUITE_AT = \
tests/system-traffic.at
TESTSUITE = $(srcdir)/tests/testsuite
+TESTSUITE_PMD = $(srcdir)/tests/testsuite-pmd
TESTSUITE_PATCH = $(srcdir)/tests/testsuite.patch
SYSTEM_KMOD_TESTSUITE = $(srcdir)/tests/system-kmod-testsuite
SYSTEM_USERSPACE_TESTSUITE = $(srcdir)/tests/system-userspace-testsuite
@@ -117,6 +123,10 @@ AUTOTEST_PATH = utilities:vswitchd:ovsdb:vtep:tests:$(PTHREAD_WIN32_DIR_DLL):ovn
check-local: tests/atconfig tests/atlocal $(TESTSUITE)
set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS); \
"$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck)
+
+check-pmd: tests/atconfig tests/atlocal $(TESTSUITE_PMD) $(check_DATA)
+ set $(SHELL) '$(TESTSUITE_PMD)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS); \
+ "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck)
# Python Coverage support.
# Requires coverage.py http://nedbatchelder.com/code/coverage/.
@@ -222,16 +232,17 @@ check-system-userspace: all tests/atconfig tests/atlocal $(SYSTEM_USERSPACE_TEST
clean-local:
test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' -C tests --clean
+ test ! -f '$(TESTSUITE_PMD)' || $(SHELL) '$(TESTSUITE_PMD)' -C tests --clean
AUTOTEST = $(AUTOM4TE) --language=autotest
if WIN32
-$(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT) $(TESTSUITE_PATCH)
+$(TESTSUITE) $(TESTSUITE_PMD): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT) $(TESTSUITE_PATCH)
$(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o testsuite.tmp $@.at
patch -p0 testsuite.tmp $(TESTSUITE_PATCH)
$(AM_V_at)mv testsuite.tmp $@
else
-$(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT)
+$(TESTSUITE) $(TESTSUITE_PMD): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT)
$(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
$(AM_V_at)mv $@.tmp $@
endif
@@ -679,7 +679,8 @@ AT_CHECK_UNQUOTED([ovs-vsctl-bashcomp.bash test "set-manager "],
${MATCH}
])
# filename completion on unix, punix.
-MATCH="$(PREPARE_MATCH_NOSPACE(testsuite.log))"
+TMP="$(ls testsuite*.log)"
+MATCH="$(PREPARE_MATCH_NOSPACE(${TMP}))"
AT_CHECK_UNQUOTED([ovs-vsctl-bashcomp.bash test "set-manager unix:test"],
[0], [dnl
${MATCH}
new file mode 100644
@@ -0,0 +1,8 @@
+# OVS_VSWITCHD_START([vsctl-args], [vsctl-output], [=override])
+#
+# Calls __OVS_VSWITCHD_START with non-pmd dummy.
+m4_define([OVS_VSWITCHD_START],
+ [AS_IF([test -n "$3"],
+ __OVS_VSWITCHD_START([$1], [$2], [$3,non-pmd]),
+ __OVS_VSWITCHD_START([$1], [$2], [=non-pmd]))
+])
new file mode 100644
@@ -0,0 +1,8 @@
+# OVS_VSWITCHD_START([vsctl-args], [vsctl-output], [=override])
+#
+# Calls __OVS_VSWITCHD_START with dummy-pmd.
+m4_define([OVS_VSWITCHD_START],
+ [AS_IF([test -n "$3"],
+ __OVS_VSWITCHD_START([$1], [$2], [$3,pmd]),
+ __OVS_VSWITCHD_START([$1], [$2], [=pmd]))
+])
@@ -285,7 +285,7 @@ m4_define([_OVS_VSWITCHD_START],
/ofproto|INFO|datapath ID changed to fedcba9876543210/d']])
])
-# OVS_VSWITCHD_START([vsctl-args], [vsctl-output], [=override])
+# __OVS_VSWITCHD_START([vsctl-args], [vsctl-output], [=override])
#
# Creates a database and starts ovsdb-server, starts ovs-vswitchd
# connected to that database, calls ovs-vsctl to create a bridge named
@@ -298,20 +298,20 @@ m4_define([_OVS_VSWITCHD_START],
# =override (literally) as the third argument. Otherwise, system devices
# won't work at all (which makes sense because tests should not access a
# system's real Ethernet devices).
-m4_define([OVS_VSWITCHD_START],
+m4_define([__OVS_VSWITCHD_START],
[_OVS_VSWITCHD_START([--enable-dummy$3 --disable-system])
AT_CHECK([add_of_br 0 $1 m4_if([$2], [], [], [| ${PERL} $srcdir/uuidfilt.pl])], [0], [$2])
])
-# check_logs scans through all *.log files (except '*.log' and testsuite.log)
-# and reports all WARN, ERR, EMER log entries. User can add custom sed filters
-# in $1.
+# check_logs scans through all *.log files (except '*.log', testsuite.log and
+# testsuite-pmd.log) and reports all WARN, ERR, EMER log entries. User can add
+# custom sed filters in $1.
m4_divert_push([PREPARE_TESTS])
check_logs () {
local logs
for log in *.log; do
case ${log} in # (
- '*.log'|testsuite.log) ;; # (
+ '*.log'|testsuite.log|testsuite-pmd.log) ;; # (
*) logs="${logs} ${log}" ;;
esac
done
new file mode 100644
@@ -0,0 +1,46 @@
+AT_INIT
+
+AT_COPYRIGHT([Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Nicira, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at:
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.])
+
+m4_include([tests/ovs-macros.at])
+m4_include([tests/ovsdb-macros.at])
+m4_include([tests/ofproto-macros.at])
+m4_include([tests/dummy-pmd-macros.at])
+
+m4_include([tests/completion.at])
+m4_include([tests/bfd.at])
+m4_include([tests/cfm.at])
+m4_include([tests/lacp.at])
+m4_include([tests/bundle.at])
+m4_include([tests/classifier.at])
+m4_include([tests/ofp-actions.at])
+m4_include([tests/ovs-ofctl.at])
+m4_include([tests/mpls-xlate.at])
+m4_include([tests/learn.at])
+m4_include([tests/unixctl-py.at])
+m4_include([tests/tunnel.at])
+m4_include([tests/tunnel-push-pop.at])
+m4_include([tests/tunnel-push-pop-ipv6.at])
+m4_include([tests/ovs-vswitchd.at])
+m4_include([tests/ofproto.at])
+m4_include([tests/dpif-netdev.at])
+m4_include([tests/dpctl.at])
+m4_include([tests/ofproto-dpif.at])
+m4_include([tests/bridge.at])
+m4_include([tests/vlan-splinters.at])
+m4_include([tests/ovs-vsctl.at])
+m4_include([tests/interface-reconfigure.at])
+m4_include([tests/stp.at])
+m4_include([tests/rstp.at])
@@ -17,6 +17,7 @@ limitations under the License.])
m4_include([tests/ovs-macros.at])
m4_include([tests/ovsdb-macros.at])
m4_include([tests/ofproto-macros.at])
+m4_include([tests/dummy-macros.at])
m4_include([tests/completion.at])
m4_include([tests/bfd.at])
New target 'make check-pmd' introduced to run many of existing tests with new dummy_pmd interfaces. This is reasonable because many parts of code uses pmd_id or alters their behavior for PMD netdevs. Later will be added new PMD specific tests. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> --- NEWS | 1 + tests/automake.mk | 17 ++++++++++++++--- tests/completion.at | 3 ++- tests/dummy-macros.at | 8 ++++++++ tests/dummy-pmd-macros.at | 8 ++++++++ tests/ofproto-macros.at | 12 ++++++------ tests/testsuite-pmd.at | 46 ++++++++++++++++++++++++++++++++++++++++++++++ tests/testsuite.at | 1 + 8 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 tests/dummy-macros.at create mode 100644 tests/dummy-pmd-macros.at create mode 100644 tests/testsuite-pmd.at