[libvirt] [PATCH] tests: virsh-all: new script

Actually, this was the first step. This tiny script merely invokes all commands blindly, solely to get test coverage, even if they (as most do) fail. Additional tests will be smarter about providing sensible arguments.
From 058681eab07936f4ecbb1ff514528eb921d27074 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@redhat.com> Date: Fri, 21 Nov 2008 10:18:43 +0100 Subject: [PATCH] tests: virsh-all: new script
* tests/virsh-all: New script. * tests/Makefile.am (test_scripts): Add virsh-all. --- tests/Makefile.am | 1 + tests/virsh-all | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 0 deletions(-) create mode 100755 tests/virsh-all diff --git a/tests/Makefile.am b/tests/Makefile.am index bdbf927..0b4eebd 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -57,6 +57,7 @@ test_scripts += \ read-non-seekable \ undefine \ vcpupin + virsh-all endif EXTRA_DIST += $(test_scripts) diff --git a/tests/virsh-all b/tests/virsh-all new file mode 100755 index 0000000..af7e09d --- /dev/null +++ b/tests/virsh-all @@ -0,0 +1,39 @@ +#!/bin/sh +# blindly run each and every command listed by "virsh help" + +# Copyright (C) 2008 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +if test "$VERBOSE" = yes; then + set -x + virsh --version +fi + +. $srcdir/test-lib.sh + +fail=0 + +test_url=test:///default + +virsh -c $test_url help > cmds || framework_failure +cmds=$(sed -n 's/^ \([^ ][^ ]*\) .*/\1/p' cmds) || framework_failure +test -n "$cmds" || framework_failure + +for i in $cmds; do + echo testing $i... 1>&2 + virsh -c $test_url $i < /dev/null +done + +(exit $fail); exit $fail -- 1.6.0.4.1021.g4320

On Fri, Nov 21, 2008 at 11:16:18AM +0100, Jim Meyering wrote:
Actually, this was the first step. This tiny script merely invokes all commands blindly, solely to get test coverage, even if they (as most do) fail.
It at least verifies that the commands don't crash or leak memory in the error paths :-)
+ +if test "$VERBOSE" = yes; then + set -x + virsh --version +fi + +. $srcdir/test-lib.sh
$srcdir won't be set if you just invoke the test case directly as ./virsh-all. Can you add a default value assuming non-VPATH build, eg test -z "$srcdir" && srcdir=`pwd` Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

"Daniel P. Berrange" <berrange@redhat.com> wrote:
On Fri, Nov 21, 2008 at 11:16:18AM +0100, Jim Meyering wrote:
Actually, this was the first step. This tiny script merely invokes all commands blindly, solely to get test coverage, even if they (as most do) fail.
It at least verifies that the commands don't crash or leak memory in the error paths :-)
+ +if test "$VERBOSE" = yes; then + set -x + virsh --version +fi + +. $srcdir/test-lib.sh
$srcdir won't be set if you just invoke the test case directly as ./virsh-all. Can you add a default value assuming non-VPATH build, eg
test -z "$srcdir" && srcdir=`pwd`
Sure. Done. and in virsh-synopsis. I'll commit these tomorrow.
participants (2)
-
Daniel P. Berrange
-
Jim Meyering