virsh: Use standard error messages in vshCommandOptTimeoutToMs()

I missed this in the first time around, thanks Michal for noticing.
This commit is contained in:
Andrea Bolognani 2015-06-02 11:17:25 +02:00 committed by John Ferlan
parent 779457a19c
commit d27160bb82
2 changed files with 12 additions and 8 deletions

View File

@ -257,7 +257,7 @@ test -s err && fail=1
# Non-numeric value
cat <<\EOF > exp-err || framework_failure
error: invalid timeout
error: Numeric value for <timeout> option is malformed or out of range
EOF
virsh -q -c $test_url event --all --timeout abc >out 2>err && fail=1
test -s out && fail=1
@ -266,7 +266,7 @@ compare exp-err err || fail=1
# Numeric value that's too big to be converted to ms and still
# fit inside an int
cat <<\EOF > exp-err || framework_failure
error: timeout is too big
error: Numeric value for <timeout> option is malformed or out of range
EOF
virsh -q -c $test_url event --all --timeout 2147484 >out 2>err && fail=1
test -s out && fail=1
@ -274,7 +274,7 @@ compare exp-err err || fail=1
# Numeric value with invalid suffix
cat <<\EOF > exp-err || framework_failure
error: invalid timeout
error: Numeric value for <timeout> option is malformed or out of range
EOF
virsh -q -c $test_url event --all --timeout 42WB >out 2>err && fail=1
test -s out && fail=1
@ -283,7 +283,7 @@ compare exp-err err || fail=1
# Numeric value with valid suffix. Suffixes are not supported for
# the <timeout> option, so this value is rejected
cat <<\EOF > exp-err || framework_failure
error: invalid timeout
error: Numeric value for <timeout> option is malformed or out of range
EOF
virsh -q -c $test_url event --all --timeout 42MB >out 2>err && fail=1
test -s out && fail=1
@ -291,7 +291,7 @@ compare exp-err err || fail=1
# Negative value
cat <<\EOF > exp-err || framework_failure
error: invalid timeout
error: Numeric value for <timeout> option is malformed or out of range
EOF
virsh -q -c $test_url event --all --timeout -1 >out 2>err && fail=1
test -s out && fail=1
@ -300,7 +300,7 @@ compare exp-err err || fail=1
# Zero. This is not a valid timeout, but the value is parsed
# correctly
cat <<\EOF > exp-err || framework_failure
error: invalid timeout
error: Numeric value for <timeout> option is malformed or out of range
EOF
virsh -q -c $test_url event --all --timeout 0 >out 2>err && fail=1
test -s out && fail=1

View File

@ -1869,13 +1869,17 @@ vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, int *timeout)
int rv = vshCommandOptInt(cmd, "timeout", timeout);
if (rv < 0 || (rv > 0 && *timeout < 1)) {
vshError(ctl, "%s", _("invalid timeout"));
vshError(ctl,
_("Numeric value for <%s> option is malformed or out of range"),
"timeout");
return -1;
}
if (rv > 0) {
/* Ensure that we can multiply by 1000 without overflowing. */
if (*timeout > INT_MAX / 1000) {
vshError(ctl, "%s", _("timeout is too big"));
vshError(ctl,
_("Numeric value for <%s> option is malformed or out of range"),
"timeout");
return -1;
}
*timeout *= 1000;