Move the argument parsing tests excercising various numeric options
(except 'virsh event') from 'virsh-optparse' to 'virshtest'.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
tests/virsh-optparse | 105 ------------------------
tests/virshtest.c | 1 +
tests/virshtestdata/numeric-parsing.in | 43 ++++++++++
tests/virshtestdata/numeric-parsing.out | 12 +++
4 files changed, 56 insertions(+), 105 deletions(-)
create mode 100644 tests/virshtestdata/numeric-parsing.in
create mode 100644 tests/virshtestdata/numeric-parsing.out
diff --git a/tests/virsh-optparse b/tests/virsh-optparse
index 10fdf7727e..e9dccdd027 100755
--- a/tests/virsh-optparse
+++ b/tests/virsh-optparse
@@ -32,111 +32,6 @@ fail=0
test_url=test:///default
-# Test a required argv
-cat <<\EOF > exp-err || framework_failure
-error: this function is not supported by the connection driver:
virDomainQemuMonitorCommand
-EOF
-$VIRSH -q -c $test_url qemu-monitor-command test a >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-### Test a regular numeric option
-
-# Non-numeric value
-cat <<\EOF > exp-err || framework_failure
-error: Numeric value 'abc' for <start> option is malformed or out of range
-EOF
-$VIRSH -q -c $test_url cpu-stats test --start abc >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Numeric value with invalid suffix
-cat <<\EOF > exp-err || framework_failure
-error: Numeric value '42WB' for <start> option is malformed or out of
range
-EOF
-$VIRSH -q -c $test_url cpu-stats test --start 42WB >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Numeric value with valid suffix. Suffixes are not supported for
-# regular numeric options, so this value is rejected
-cat <<\EOF > exp-err || framework_failure
-error: Numeric value '42MB' for <start> option is malformed or out of
range
-EOF
-$VIRSH -q -c $test_url cpu-stats test --start 42MB >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Numeric value bigger than INT_MAX
-cat <<\EOF > exp-err || framework_failure
-error: Numeric value '2147483648' for <start> option is malformed or out of
range
-EOF
-$VIRSH -q -c $test_url cpu-stats test --start 2147483648 >out 2>err &&
fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Negative numeric value. The value is not valid for the command
-# we're testing, but it has been parsed correctly
-cat <<\EOF > exp-err || framework_failure
-error: Invalid value for start CPU
-EOF
-$VIRSH -q -c $test_url cpu-stats test --start -1 >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-### Test a scaled numeric option
-
-# Non-numeric value
-cat <<\EOF > exp-err || framework_failure
-error: Scaled numeric value 'abc' for <size> option is malformed or out of
range
-EOF
-$VIRSH -q -c $test_url setmaxmem test abc >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Numeric value with invalid suffix
-cat <<\EOF > exp-err || framework_failure
-error: Scaled numeric value '42WB' for <size> option is malformed or out of
range
-error: invalid argument: unknown suffix 'WB'
-EOF
-$VIRSH -q -c $test_url setmaxmem test 42WB >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Numeric value with valid suffix
-$VIRSH -q -c $test_url setmaxmem test 42MB --config >out 2>err || fail=1
-test -s out && fail=1
-test -s err && fail=1
-
-# Numeric value bigger than INT_MAX. No failure here because
-# scaled numeric values are unsigned long long
-$VIRSH -q -c $test_url setmaxmem test 2147483648 --config >out 2>err || fail=1
-test -s out && fail=1
-test -s err && fail=1
-
-# Negative numeric value
-cat <<\EOF > exp-err || framework_failure
-error: Scaled numeric value '-1' for <size> option is malformed or out of
range
-EOF
-$VIRSH -q -c $test_url setmaxmem test -1 >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Zero. The value is not valid for the command we're testing, but
-# it has been parsed correctly
-cat <<\EOF > exp-err || framework_failure
-error: Unable to change MaxMemorySize
-error: memory in virDomainSetMemoryFlags must not be zero
-EOF
-$VIRSH -q -c $test_url setmaxmem test 0 >out 2>err && fail=1
-test -s out && fail=1
-compare exp-err err || fail=1
-
-# Numeric value
-$VIRSH -q -c $test_url setmaxmem test 42 --config >out 2>err || fail=1
-test -s out && fail=1
-test -s err && fail=1
-
### Test the <timeout> option (numeric option converted to ms)
# Non-numeric value
diff --git a/tests/virshtest.c b/tests/virshtest.c
index 453b1d7a9e..37634a68a2 100644
--- a/tests/virshtest.c
+++ b/tests/virshtest.c
@@ -201,6 +201,7 @@ mymain(void)
/* comprehensive coverage of argument assignment */
DO_TEST_SCRIPT("argument-assignment", NULL, VIRSH_DEFAULT, "-k0",
"-d0");
DO_TEST_SCRIPT("snapshot-create-args", NULL, VIRSH_DEFAULT,
"-q");
+ DO_TEST_SCRIPT("numeric-parsing", NULL, VIRSH_DEFAULT, "-q");
VIR_FREE(custom_uri);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
diff --git a/tests/virshtestdata/numeric-parsing.in
b/tests/virshtestdata/numeric-parsing.in
new file mode 100644
index 0000000000..d099236af5
--- /dev/null
+++ b/tests/virshtestdata/numeric-parsing.in
@@ -0,0 +1,43 @@
+echo Test a regular numeric option
+
+echo Non-numeric value
+cpu-stats test --start abc
+
+echo Numeric value with invalid suffix
+cpu-stats test --start 42WB
+
+echo Numeric value with valid suffix. Suffixes are not supported for
+echo regular numeric options, so this value is rejected
+cpu-stats test --start 42MB
+
+echo Numeric value bigger than INT_MAX
+cpu-stats test --start 2147483648
+
+echo Negative numeric value. The value is not valid for the command
+echo we are testing, but it has been parsed correctly
+cpu-stats test --start -1
+
+echo Test a scaled numeric option
+
+echo Non-numeric value
+setmaxmem test abc
+
+echo Numeric value with invalid suffix
+setmaxmem test 42WB
+
+echo Numeric value with valid suffix
+setmaxmem test 42MB --config
+
+echo Numeric value bigger than INT_MAX. No failure here because
+echo scaled numeric values are unsigned long long
+setmaxmem test 2147483648 --config
+
+echo Negative numeric value
+setmaxmem test -1
+
+echo Zero. The value is not valid for the command were testing, but
+echo it has been parsed correctly
+setmaxmem test 0
+
+echo Numeric value
+setmaxmem test 42 --config
diff --git a/tests/virshtestdata/numeric-parsing.out
b/tests/virshtestdata/numeric-parsing.out
new file mode 100644
index 0000000000..4a0be84ac1
--- /dev/null
+++ b/tests/virshtestdata/numeric-parsing.out
@@ -0,0 +1,12 @@
+Test a regular numeric optionNon-numeric valueerror: Numeric value 'abc' for
<start> option is malformed or out of range
+Numeric value with invalid suffixerror: Numeric value '42WB' for <start>
option is malformed or out of range
+Numeric value with valid suffix. Suffixes are not supported forregular numeric options,
so this value is rejectederror: Numeric value '42MB' for <start> option is
malformed or out of range
+Numeric value bigger than INT_MAXerror: Numeric value '2147483648' for
<start> option is malformed or out of range
+Negative numeric value. The value is not valid for the commandwe are testing, but it has
been parsed correctlyerror: Invalid value for start CPU
+Test a scaled numeric optionNon-numeric valueerror: Scaled numeric value 'abc'
for <size> option is malformed or out of range
+Numeric value with invalid suffixerror: Scaled numeric value '42WB' for
<size> option is malformed or out of range
+error: invalid argument: unknown suffix 'WB'
+Numeric value with valid suffixNumeric value bigger than INT_MAX. No failure here
becausescaled numeric values are unsigned long longNegative numeric valueerror: Scaled
numeric value '-1' for <size> option is malformed or out of range
+Zero. The value is not valid for the command were testing, butit has been parsed
correctlyerror: Unable to change MaxMemorySize
+error: memory in virDomainSetMemoryFlags must not be zero
+Numeric value
--
2.44.0