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