virsh: fix previous patch

The last patch breaks make check for two reasons. First, it reverses the
condition but leaves default level unchanged, so instead of not printing
anything but errors before the patch it now prints all debug messages by
default. Second, you forgot to change -d5 option passed to virsh in
tests/virsh-optparse to -d0; the script wants to see all debug messages.
This commit is contained in:
Jiri Denemark 2011-07-14 13:58:02 +02:00 committed by Eric Blake
parent c1710ca6a0
commit f580a33ffd
2 changed files with 10 additions and 6 deletions

View File

@ -64,7 +64,7 @@ for args in \
'--count 2 test' \
'--count=2 test' \
; do
virsh -d5 -c $test_url setvcpus $args >out 2>>err || fail=1
virsh -d0 -c $test_url setvcpus $args >out 2>>err || fail=1
LC_ALL=C sort out | compare - exp-out || fail=1
done
test -s err && fail=1

View File

@ -98,6 +98,8 @@ typedef enum {
VSH_ERR_ERROR
} vshErrorLevel;
#define VSH_DEBUG_DEFAULT VSH_ERR_ERROR
/*
* virsh command line grammar:
*
@ -13410,15 +13412,17 @@ vshInit(vshControl *ctl)
if (ctl->conn)
return false;
if (ctl->debug == -1) {
if (ctl->debug == VSH_DEBUG_DEFAULT) {
/* log level not set from commandline, check env variable */
debugEnv = getenv("VIRSH_DEBUG");
if (debugEnv) {
if (virStrToLong_i(debugEnv, NULL, 10, &ctl->debug) < 0 ||
ctl->debug < VSH_ERR_DEBUG || ctl->debug > VSH_ERR_ERROR) {
int debug;
if (virStrToLong_i(debugEnv, NULL, 10, &debug) < 0 ||
debug < VSH_ERR_DEBUG || debug > VSH_ERR_ERROR) {
vshError(ctl, "%s",
_("VIRSH_DEBUG not set with a valid numeric value"));
ctl->debug = VSH_ERR_DEBUG;
} else {
ctl->debug = debug;
}
}
}
@ -14106,7 +14110,7 @@ main(int argc, char **argv)
memset(ctl, 0, sizeof(vshControl));
ctl->imode = true; /* default is interactive mode */
ctl->log_fd = -1; /* Initialize log file descriptor */
ctl->debug = -1; /* Initialize log level */
ctl->debug = VSH_DEBUG_DEFAULT;
if (!setlocale(LC_ALL, "")) {
perror("setlocale");