[ovs-dev] [PATCH] documentation: Add instructions on how to run the unit test infrastructure.

Kyle Mestery (kmestery) kmestery at cisco.com
Wed Feb 27 17:32:07 UTC 2013


On Feb 27, 2013, at 11:26 AM, Ben Pfaff <blp at nicira.com> wrote:

> On Wed, Feb 27, 2013 at 11:08:49AM -0500, Kyle Mestery wrote:
>> Signed-off-by: Kyle Mestery <kmestery at cisco.com>
> 
> How's this version?  I did a lot of editing so I added myself as a
> Co-authored-by:, but I'll remove that if you object.
> 
I'm fine with that. This looks great, with only one minor nit below.

> --8<--------------------------cut here-------------------------->8--
> 
> From ee1f70b313f7cfe0af55c926edb9854595bf98ba Mon Sep 17 00:00:00 2001
> From: Kyle Mestery <kmestery at cisco.com>
> Date: Wed, 27 Feb 2013 11:08:49 -0500
> Subject: [PATCH] documentation: Add instructions on how to run the unit test infrastructure.
> 
> Signed-off-by: Kyle Mestery <kmestery at cisco.com>
> Co-authored-by: Ben Pfaff <blp at nicira.com>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
> INSTALL |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
> 1 files changed, 60 insertions(+), 4 deletions(-)
> 
> diff --git a/INSTALL b/INSTALL
> index 275e86e..c72df94 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -202,12 +202,15 @@ Prerequisites section, follow the procedure below to build.
>    For improved warnings if you installed "sparse" (see
>    "Prerequisites"), add C=1 to the "make" command line.
> 
> -4. Become root by running "su" or another program.
> +4. Consider running the testsuite.  Refer to "Running the Testsuite"
> +   below, for instructions.
> 
> -5. Run "make install" to install the executables and manpages into the
> +5. Become root by running "su" or another program.
> +
> +6. Run "make install" to install the executables and manpages into the
>    running system, by default under /usr/local.
> 
> -6. If you built kernel modules, you may load them with "insmod", e.g.:
> +7. If you built kernel modules, you may load them with "insmod", e.g.:
> 
>       % insmod datapath/linux/openvswitch.ko
> 
> @@ -267,7 +270,7 @@ Prerequisites section, follow the procedure below to build.
> 
>       % make modules_install
> 
> -7. Initialize the configuration database using ovsdb-tool, e.g.:
> +8. Initialize the configuration database using ovsdb-tool, e.g.:
> 
>       % mkdir -p /usr/local/etc/openvswitch
>       % ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema
> @@ -341,6 +344,59 @@ also upgrade the database schema:
> 4. Start the Open vSwitch daemons as described under "Building and
>    Installing Open vSwitch for Linux or FreeBSD" above.
> 
> +Running the Testsuite
> +=====================
> +
> +Open vSwitch includes a testsuite.  Before submitting patches
> +upstream, we advise running the tests and ensuring that they pass
> +pass.  If you are adding new features to Open vSwitch, adding tests

There are two "pass" words here, remove one.

> +will ensure your feature doesn't break as developers are modifying
> +other areas of Open vSwitch.
> +
> +You must configure and build Open vSwitch before running the testsuite
> +(steps 1 through 3 in "Building and Installing Open vSwitch for Linux
> +or FreeBSD" above).  You do not need to install Open vSwitch or load
> +the kernel module to run the testsuite.  Running the testsuite does
> +not require supervisor privilege.
> +
> +To run all the unit tests in Open vSwitch, one at a time:
> +      make check
> +This takes under 5 minutes on a modern desktop system.
> +
> +To run all the unit tests in Open vSwitch, up to 8 in parallel:
> +      make check TESTSUITEFLAGS=-j8
> +This takes under a minute on a modern 4-core desktop system.
> +
> +To see a list of all the available tests, run:
> +      make check TESTSUITEFLAGS=--list
> +
> +To run only a subset of tests, e.g. test 123 and tests 477 through 484:
> +      make check TESTSUITEFLAGS='123 477-484'
> +(Tests do not have inter-dependencies, so you may run any subset.)
> +
> +To run tests matching a keyword, e.g. "ovsdb":
> +      make check TESTSUITEFLAGS='-k ovsdb'
> +
> +To see a complete list of test options:
> +      make check TESTSUITEFLAGS=--help
> +
> +The results of a testing run are reported in tests/testsuite.log.
> +Please report test failures as bugs and include the testsuite.log in
> +your report.
> +
> +If you have "valgrind" installed, then you can also run the testsuite
> +under valgrind by using "make check-valgrind" in place of "make
> +check".  All the same options are available via TESTSUITEFLAGS.  When
> +you do this, the "valgrind" results for test <N> are reported in files
> +named tests/testsuite.dir/<N>/valgrind.*.  You may find that the
> +valgrind results are easier to interpret if you put "-q" in
> +~/.valgrindrc, since that reduces the amount of
> +
> +Sometimes a few tests may fail on some runs but not others.  This is
> +usually a bug in the testsuite, not a bug in Open vSwitch itself.  If
> +you find that a test fails intermittently, please report it, since the
> +developers may not have noticed.
> +
> Bug Reporting
> -------------
> 
> -- 
> 1.7.2.5
> 




More information about the dev mailing list