virshtest: Adapt 'virsh-vcpupin' test

As all cases are negative we can test them all in one virsh run.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2024-03-21 10:20:25 +01:00
parent 630b229bc9
commit d8e2220c9a
5 changed files with 50 additions and 101 deletions

View File

@ -701,7 +701,6 @@ if conf.has('WITH_LIBVIRTD')
'virsh-start', 'virsh-start',
'virsh-undefine', 'virsh-undefine',
'virsh-uriprecedence', 'virsh-uriprecedence',
'virsh-vcpupin',
'virt-admin-self-test', 'virt-admin-self-test',
] ]

View File

@ -1,100 +0,0 @@
#!/bin/sh
# ensure that an invalid CPU spec elicits a diagnostic
# Copyright (C) 2008 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
. "$(dirname $0)/test-lib.sh"
if test "$VERBOSE" = yes; then
set -x
$abs_top_builddir/tools/virsh --version
fi
fail=0
# Invalid syntax.
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test a 0,1 > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: Numeric value 'a' for <vcpu> option is malformed or out of range
EOF
compare exp out || fail=1
# An out-of-range vCPU number deserves a diagnostic, too.
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test 100 0,1 > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: invalid argument: requested vcpu '100' is not present in the domain
EOF
compare exp out || fail=1
# Negative number
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test -100 0,1 > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: Numeric value '-100' for <vcpu> option is malformed or out of range
EOF
compare exp out || fail=1
# missing argument
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test --cpulist 0,1 > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: vcpupin: Missing vCPU number in pin mode.
EOF
compare exp out || fail=1
# An out-of-range vCPU number when get information with live flag
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test 100 --live > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: vcpu 100 is out of range of live cpu count 2
EOF
compare exp out || fail=1
# An out-of-range vCPU number when get information without flag
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test 100 > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: vcpu 100 is out of range of live cpu count 2
EOF
compare exp out || fail=1
# An out-of-range vCPU number when get information with config flag
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test 100 --config > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: vcpu 100 is out of range of persistent cpu count 2
EOF
compare exp out || fail=1
# An out-of-range vCPU number when get information with current flag
$abs_top_builddir/tools/virsh --connect test:///default vcpupin test 100 --current > out 2>&1
test $? = 1 || fail=1
cat <<\EOF > exp || fail=1
error: vcpu 100 is out of range of live cpu count 2
EOF
compare exp out || fail=1
(exit $fail); exit $fail

View File

@ -213,6 +213,7 @@ mymain(void)
* thus is marked expensive */ * thus is marked expensive */
DO_TEST_SCRIPT_FULL("numeric-parsing-event", true, NULL, VIRSH_DEFAULT); DO_TEST_SCRIPT_FULL("numeric-parsing-event", true, NULL, VIRSH_DEFAULT);
DO_TEST_SCRIPT("attach-disk", NULL, VIRSH_DEFAULT); DO_TEST_SCRIPT("attach-disk", NULL, VIRSH_DEFAULT);
DO_TEST_SCRIPT("vcpupin", 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;

23
tests/virshtestdata/vcpupin.in Executable file
View File

@ -0,0 +1,23 @@
echo Invalid syntax.
vcpupin test a 0,1
echo An out-of-range vCPU number deserves a diagnostic, too.
vcpupin test 100 0,1
echo Negative number
vcpupin test -100 0,1
echo missing argument
vcpupin test --cpulist 0,1
echo An out-of-range vCPU number when get information with live flag
vcpupin test 100 --live
echo An out-of-range vCPU number when get information without flag
vcpupin test 100
echo An out-of-range vCPU number when get information with config flag
vcpupin test 100 --config
echo An out-of-range vCPU number when get information with current flag
vcpupin test 100 --current

View File

@ -0,0 +1,26 @@
Invalid syntax.
error: Numeric value 'a' for <vcpu> option is malformed or out of range
An out-of-range vCPU number deserves a diagnostic, too.
error: invalid argument: requested vcpu '100' is not present in the domain
Negative number
error: Numeric value '-100' for <vcpu> option is malformed or out of range
missing argument
error: vcpupin: Missing vCPU number in pin mode.
An out-of-range vCPU number when get information with live flag
error: vcpu 100 is out of range of live cpu count 2
An out-of-range vCPU number when get information without flag
error: vcpu 100 is out of range of live cpu count 2
An out-of-range vCPU number when get information with config flag
error: vcpu 100 is out of range of persistent cpu count 2
An out-of-range vCPU number when get information with current flag
error: vcpu 100 is out of range of live cpu count 2
## Exit code: 1