[ovs-dev] [PATCH v2] ovs-macros: An option to suspend test execution on error

Aaron Conole aconole at redhat.com
Tue Jul 16 13:11:13 UTC 2019


Vasu Dasari <vdasari at gmail.com> writes:

> Origins for this patch are captured at
> https://mail.openvswitch.org/pipermail/ovs-discuss/2019-June/048923.html.
>
> Summarizing here, when a test fails, it would be good to pause test execution
> and let the developer poke around the system to see current status of system.
>
> As part of this patch, made a small tweaks to ovs-macros.at, so that when test
> suite fails, ovs_on_exit() function will be called. And in this function, a check
> is made to see if an environment variable to OVS_PAUSE_TEST is set. If it is
> set, then test suite is paused and will continue to wait for user input
> Ctrl-D. Meanwhile user can poke around the system to see why test case has
> failed. Once done with investigation, user can press ctrl-d to cleanup the
> test suite.
>
> For example, to re-run test case 139:
>
> export OVS_PAUSE_TEST=1
> cd tests/system-userspace-testsuite.dir/139
> sudo -E ./run
>
> When error occurs, above command would display something like this:
> =====================================================
> Set environment variable to use various ovs utilities
> export OVS_RUNDIR=/opt/vdasari/Developer/ovs/_build-gcc/tests/system-userspace-testsuite.dir/139
> Press ENTER to continue:
>
> =====================================================
> And from another window, one can execute ovs-xxx commands like:
> export OVS_RUNDIR=/opt/vdasari/Developer/ovs/_build-gcc/tests/system-userspace-testsuite.dir/139
> $ ovs-ofctl dump-ports br0
> .
> .
>
> To be able to pause while performing `make check`, one can do:
> $ OVS_PAUSE_TEST=1 make check TESTSUITEFLAGS='-v'
>
> Signed-off-by: Vasu Dasari <vdasari at gmail.com>
> Reviewed-by: Ben Pfaff <blp at ovn.org>
> Reviewed-by: Aaron Conole <aconole at redhat.com>
> ---
> v0 -> v1:
> Discussion at: https://mail.openvswitch.org/pipermail/ovs-dev/2019-July/360589.html
> 1. Incorporated review commanets from Ben.
> 2. Changed topics/testing.rst to document this trick
> 3. Made this trick work via "make check" as well, by issuing command: "OVS_PAUSE_TEST=1
> make check TESTSUITEFLAGS='-v'"
>
> v1 -> v2:
> Discussion at: https://mail.openvswitch.org/pipermail/ovs-dev/2019-July/360705.html
> 1. Added a subsection, "Debugging unit tests"
> 2. Renamed $as_echo to just echo. AS_ECHO is not suported in autoconf 2.69.11. And, we are not gainin
> g anything from AS_ECHO in this code, just using echo.
>
> ---

Acked-by: Aaron Conole <aconole at redhat.com>

Thanks for the cool feature, Vasu!


More information about the dev mailing list