mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
virshtest: Adapt numeric option arg handling tests from 'virsh-optparse'
Move the argument parsing tests excercising various numeric options (except 'virsh event') from 'virsh-optparse' to 'virshtest'. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
6a2712262e
commit
2aec9b399b
@ -32,111 +32,6 @@ fail=0
|
|||||||
|
|
||||||
test_url=test:///default
|
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)
|
### Test the <timeout> option (numeric option converted to ms)
|
||||||
|
|
||||||
# Non-numeric value
|
# Non-numeric value
|
||||||
|
@ -201,6 +201,7 @@ mymain(void)
|
|||||||
/* comprehensive coverage of argument assignment */
|
/* comprehensive coverage of argument assignment */
|
||||||
DO_TEST_SCRIPT("argument-assignment", NULL, VIRSH_DEFAULT, "-k0", "-d0");
|
DO_TEST_SCRIPT("argument-assignment", NULL, VIRSH_DEFAULT, "-k0", "-d0");
|
||||||
DO_TEST_SCRIPT("snapshot-create-args", NULL, VIRSH_DEFAULT, "-q");
|
DO_TEST_SCRIPT("snapshot-create-args", NULL, VIRSH_DEFAULT, "-q");
|
||||||
|
DO_TEST_SCRIPT("numeric-parsing", NULL, VIRSH_DEFAULT);
|
||||||
|
|
||||||
VIR_FREE(custom_uri);
|
VIR_FREE(custom_uri);
|
||||||
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
|
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||||
|
43
tests/virshtestdata/numeric-parsing.in
Normal file
43
tests/virshtestdata/numeric-parsing.in
Normal file
@ -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
|
41
tests/virshtestdata/numeric-parsing.out
Normal file
41
tests/virshtestdata/numeric-parsing.out
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
Test a regular numeric option
|
||||||
|
Non-numeric value
|
||||||
|
error: Numeric value 'abc' for <start> option is malformed or out of range
|
||||||
|
|
||||||
|
Numeric value with invalid suffix
|
||||||
|
error: Numeric value '42WB' for <start> option is malformed or out of range
|
||||||
|
|
||||||
|
Numeric value with valid suffix. Suffixes are not supported for
|
||||||
|
regular numeric options, so this value is rejected
|
||||||
|
error: Numeric value '42MB' for <start> option is malformed or out of range
|
||||||
|
|
||||||
|
Numeric value bigger than INT_MAX
|
||||||
|
error: Numeric value '2147483648' for <start> option is malformed or out of range
|
||||||
|
|
||||||
|
Negative numeric value. The value is not valid for the command
|
||||||
|
we are testing, but it has been parsed correctly
|
||||||
|
error: Invalid value for start CPU
|
||||||
|
|
||||||
|
Test a scaled numeric option
|
||||||
|
Non-numeric value
|
||||||
|
error: Scaled numeric value 'abc' for <size> option is malformed or out of range
|
||||||
|
|
||||||
|
Numeric value with invalid suffix
|
||||||
|
error: Scaled numeric value '42WB' for <size> option is malformed or out of range
|
||||||
|
error: invalid argument: unknown suffix 'WB'
|
||||||
|
|
||||||
|
Numeric value with valid suffix
|
||||||
|
|
||||||
|
Numeric value bigger than INT_MAX. No failure here because
|
||||||
|
scaled numeric values are unsigned long long
|
||||||
|
|
||||||
|
Negative numeric value
|
||||||
|
error: Scaled numeric value '-1' for <size> option is malformed or out of range
|
||||||
|
|
||||||
|
Zero. The value is not valid for the command were testing, but
|
||||||
|
it has been parsed correctly
|
||||||
|
error: Unable to change MaxMemorySize
|
||||||
|
error: memory in virDomainSetMemoryFlags must not be zero
|
||||||
|
|
||||||
|
Numeric value
|
||||||
|
|
Loading…
Reference in New Issue
Block a user