#!/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 # . test -z "$srcdir" && srcdir=$(pwd) test -z "$abs_top_srcdir" && abs_top_srcdir=$(pwd)/.. test -z "$abs_top_builddir" && abs_top_builddir=$(pwd)/.. if test "$VERBOSE" = yes; then set -x $abs_top_builddir/tools/virsh --version fi . "$srcdir/test-lib.sh" 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 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 is higher than allocated vcpus 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 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 # without arguments. This should succeed but the backend function in the # test driver isn't implemented $abs_top_builddir/tools/virsh --connect test:///default vcpupin test > out 2>&1 test $? = 1 || fail=1 cat <<\EOF > exp || fail=1 error: this function is not supported by the connection driver: virDomainGetVcpuPinInfo EOF compare exp out || fail=1 (exit $fail); exit $fail