[ovs-dev] [PATCH ovn v2 1/6] Documentation: Document the system-userspace testsuite.
Ben Pfaff
blp at ovn.org
Thu Nov 5 17:01:35 UTC 2020
On Thu, Nov 05, 2020 at 04:36:23PM +0530, Numan Siddique wrote:
> On Thu, Nov 5, 2020 at 10:41 AM Ben Pfaff <blp at ovn.org> wrote:
> >
> > I hadn't run this before so I had to discover how it worked.
> >
> > Signed-off-by: Ben Pfaff <blp at ovn.org>
> > ---
> > Documentation/topics/testing.rst | 35 ++++++++++++++++++++++++++++++++
> > tests/automake.mk | 6 ++++--
> > 2 files changed, 39 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/topics/testing.rst b/Documentation/topics/testing.rst
> > index 242608a17340..95e57dd6b98e 100644
> > --- a/Documentation/topics/testing.rst
> > +++ b/Documentation/topics/testing.rst
> > @@ -188,3 +188,38 @@ Instructions to setup travis-ci for your GitHub repository:
> >
> > 4. Pushing a commit to the repository which breaks the build or the
> > testsuite will now trigger a email sent to mylist at mydomain.org
> > +
> > +Datapath testing
> > +~~~~~~~~~~~~~~~~
> > +
> > +OVN includes a suite of tests specifically for datapath functionality.
> > +The datapath tests make some assumptions about the environment. They
> > +must be run under root privileges on a Linux system with support for
> > +network namespaces. Make sure no other Open vSwitch instance is
> > +running the test suite. These tests may take several minutes to
> > +complete, and cannot be run in parallel.
> > +
> > +To invoke the datapath testsuite, run::
> > +
> > + $ make check-system-userspace
>
> OVN also supports running system tests using kernel datapath - make
> check-kernel.
> We can probably document that too ?
Oh, you're right. I guess I've never paid attention to these
testsuites. Revised patch:
-8<--------------------------cut here-------------------------->8--
From: Ben Pfaff <blp at ovn.org>
Date: Wed, 4 Nov 2020 14:13:02 -0800
Subject: [PATCH ovn] Documentation: Document the system testsuites.
I hadn't run this before so I had to discover how it worked.
Signed-off-by: Ben Pfaff <blp at ovn.org>
---
Documentation/topics/testing.rst | 44 ++++++++++++++++++++++++++++++++
tests/automake.mk | 7 ++---
2 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/Documentation/topics/testing.rst b/Documentation/topics/testing.rst
index 242608a17340..152a8d733067 100644
--- a/Documentation/topics/testing.rst
+++ b/Documentation/topics/testing.rst
@@ -188,3 +188,47 @@ Instructions to setup travis-ci for your GitHub repository:
4. Pushing a commit to the repository which breaks the build or the
testsuite will now trigger a email sent to mylist at mydomain.org
+
+Datapath testing
+~~~~~~~~~~~~~~~~
+
+OVN includes a suite of tests specifically for datapath functionality.
+The datapath tests make some assumptions about the environment. They
+must be run under root privileges on a Linux system with support for
+network namespaces. Make sure no other Open vSwitch instance is
+running the test suite. These tests may take several minutes to
+complete, and cannot be run in parallel.
+
+To invoke the datapath testsuite with the OVS userspace datapath,
+run::
+
+ $ make check-system-userspace
+
+The results of the userspace testsuite appear in
+``tests/system-userspace-testsuite.dir``.
+
+To invoke the datapath testsuite with the OVS kernel datapath, run::
+
+ $ make check-kernel
+
+The results of the kernel testsuite appear in
+``tests/system-kmod-testsuite.dir``.
+
+The tests themselves must run as root. If you do not run ``make`` as
+root, then you can specify a program to get superuser privileges as
+``SUDO=<program>``, e.g. the following uses ``sudo`` (the ``-E``
+option is needed to pass through environment variables)::
+
+ $ make check-system-userspace SUDO='sudo -E'
+
+The testsuite creates and destroys tap devices named ``ovs-netdev``
+and ``br0``. If it is interrupted during a test, then before it can
+be restarted, you may need to destroy these devices with commands like
+the following::
+
+ $ ip tuntap del dev ovs-netdev mode tap
+ $ ip tuntap del dev br0 mode tap
+
+All the features documented under `Unit Tests`_ are available for the
+datapath testsuites, except that the datapath testsuites do not
+support running tests in parallel.
diff --git a/tests/automake.mk b/tests/automake.mk
index b363928fd73d..44be2095a4cf 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -155,11 +155,12 @@ check-helgrind: all $(valgrind_wrappers) $(check_DATA)
# Run kmod tests. Assume kernel modules has been installed or linked into the kernel
check-kernel: all
set $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)'; \
- "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck)
+ $(SUDO) "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && $(SUDO) "$$@" --recheck)
-check-system-userspace: all
+
+check-system-userspace: all
set $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)'; \
- "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck)
+ $(SUDO) "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && $(SUDO) "$$@" --recheck)
clean-local:
test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' -C tests --clean
--
2.26.2
More information about the dev
mailing list