On Thu, Apr 22, 2010 at 10:41:34AM -0600, Eric Blake wrote:
On 04/22/2010 10:24 AM, Daniel P. Berrange wrote:
> Adds a minimal test case which verifies that it is possible to
> set the CPU count to max, and then back to the min. This really
> needs libguestfs integration to validate that the guest sees the
> change
> ---
> scripts/domain/130-cpu-hotplug.t | 78 ++++++++++++++++++++++++++++++++++++++
> 1 files changed, 78 insertions(+), 0 deletions(-)
> create mode 100644 scripts/domain/130-cpu-hotplug.t
>
> diff --git a/scripts/domain/130-cpu-hotplug.t b/scripts/domain/130-cpu-hotplug.t
> new file mode 100644
> index 0000000..2976f2d
> --- /dev/null
> +++ b/scripts/domain/130-cpu-hotplug.t
> @@ -0,0 +1,78 @@
> +# -*- perl -*-
> +#
> +# Copyright (C) 2009-2010 Red Hat, Inc.
> +# Copyright (C) 2009-2010 Daniel P. Berrange
Since it's new, should the copyright be just 2010?
Yep.
> +diag "Creating a new transient domain";
> +my $dom;
> +ok_domain(sub { $dom = $conn->create_domain($xml) }, "created transient
domain object");
> +
> +my $max;
> +lives_ok(sub { $max = $dom->get_max_vcpus() }, "queried max vcpus");
> +
> +SKIP: {
> + skip "SMP guests not supported", 4 unless $max > 1;
> +
> + diag "Increasing CPU count to max";
> + lives_ok(sub { $dom->set_vcpus($max); }, "set vcpus to $max");
> +
> + my $info = $dom->get_info();
> +
> + is($info->{nrVirtCpu}, $max, "cpu count $info->{nrVirtCpu} is
$max");
> +
> + diag "Decreasing CPU count to min";
> + lives_ok(sub { $dom->set_vcpus(1); }, "set vcpus to 1");
> +
> + $info = $dom->get_info();
> + is($info->{nrVirtCpu}, 1, "cpu count $info->{nrVirtCpu} is
1");
Do you want to also test for an error message on setting it out of
range, like to 0?
That's a good idea. I added 2 further tests for 0 and $max + 1 to assert
that errors are raised.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|