I missed this in the first time around, thanks Michal for noticing.
---
tests/virsh-optparse | 12 ++++++------
tools/virsh.c | 8 ++++++--
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/tests/virsh-optparse b/tests/virsh-optparse
index 37a8d42..952fcc4 100755
--- a/tests/virsh-optparse
+++ b/tests/virsh-optparse
@@ -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
diff --git a/tools/virsh.c b/tools/virsh.c
index 1005ba8..d7964a1 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -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;
--
2.1.0