#!/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 # . . "$(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 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 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