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(a)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