[PATCH 18/35] virshtest: Adapt numeric option arg handling tests from 'virsh-optparse'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Move the argument parsing tests excercising various numeric options
(except 'virsh event') from 'virsh-optparse' to 'virshtest'.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 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
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux