$vmm->get_all_domain_stats Sys::Virt::GET_ALL_STATS_ACTIVE Sys::Virt::GET_ALL_STATS_INACTIVE Sys::Virt::GET_ALL_STATS_OTHER Sys::Virt::GET_ALL_STATS_PAUSED Sys::Virt::GET_ALL_STATS_PERSISTENT Sys::Virt::GET_ALL_STATS_RUNNING Sys::Virt::GET_ALL_STATS_SHUTOFF Sys::Virt::GET_ALL_STATS_TRANSIENT Sys::Virt::GET_ALL_STATS_ENFORCE_STATS Signed-off-by: Zhe Peng <zpeng@xxxxxxxxxx> --- scripts/domain/800-get-all-stats.t | 137 +++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 scripts/domain/800-get-all-stats.t diff --git a/scripts/domain/800-get-all-stats.t b/scripts/domain/800-get-all-stats.t new file mode 100644 index 0000000..4ff4bf3 --- /dev/null +++ b/scripts/domain/800-get-all-stats.t @@ -0,0 +1,137 @@ +# -*- perl -*- +# +# Copyright (C) 2014 Red Hat, Inc. +# Copyright (C) 2014 Zhe Peng +# +# This program is free software; You can redistribute it and/or modify +# it under the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any +# later version +# +# The file "LICENSE" distributed along with this file provides full +# details of the terms and conditions +# + +=pod + +=head1 NAME + +domain/800-get-all-stats.t + +=head1 DESCRIPTION + +The test case validates that: +$vmm->get_all_domain_stats +Sys::Virt::GET_ALL_STATS_ACTIVE +Sys::Virt::GET_ALL_STATS_INACTIVE +Sys::Virt::GET_ALL_STATS_OTHER +Sys::Virt::GET_ALL_STATS_PAUSED +Sys::Virt::GET_ALL_STATS_PERSISTENT +Sys::Virt::GET_ALL_STATS_RUNNING +Sys::Virt::GET_ALL_STATS_SHUTOFF +Sys::Virt::GET_ALL_STATS_TRANSIENT +Sys::Virt::GET_ALL_STATS_ENFORCE_STATS + +=cut + +use strict; +use warnings; + +use Test::More tests => 11; + +use Sys::Virt::TCK; +use Test::Exception; + +my $tck = Sys::Virt::TCK->new(); +my $conn = eval { $tck->setup(); }; +BAIL_OUT "failed to setup test harness: $@" if $@; +END { + $tck->cleanup if $tck; +} + +my @doms = ("tck1", "tck2", "tck3", "tck4"); + +#create two persistent domain, tck1 and tck2 + +my $xml = $tck->generic_domain(name => "tck1")->as_xml; + +diag "Defining an inactive domain config"; + +my $dom1; + +ok_domain(sub { $dom1 = $conn->define_domain($xml) }, "defined persistent domain config"); + +my $xml2 = $tck->generic_domain(name => "tck2")->as_xml; + +diag "Defining an inactive domain config"; + +my $dom2; + +ok_domain(sub { $dom2 = $conn->define_domain($xml2) }, "defined persistent domain config"); + +my $stats_persistent = Sys::Virt::Domain::GET_ALL_STATS_PERSISTENT|Sys::Virt::Domain::GET_ALL_STATS_INACTIVE; +my @dom_persistent = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_persistent); + +is($#dom_persistent+1, 2, "list all persistent domain"); + +#create two transient domain, tck3 and tck4 + +my $xml3 = $tck->generic_domain(name => "tck3")->as_xml; + +diag "Creating a new transient domain"; +my $dom3; +ok_domain(sub { $dom3 = $conn->create_domain($xml3) }, "created transient domain object"); + +my $xml4 = $tck->generic_domain(name => "tck4")->as_xml; + +diag "Creating a new transient domain"; +my $dom4; +ok_domain(sub { $dom4 = $conn->create_domain($xml4) }, "created transient domain object"); + +my $stats_transient = Sys::Virt::Domain::GET_ALL_STATS_TRANSIENT|Sys::Virt::Domain::GET_ALL_STATS_RUNNING; + +my @dom_transient = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_transient); + +is($#dom_transient+1, 2, "list all transient domain"); + +#start & pause persistent domain 2 and one transient dom +$dom2->create(); +$dom2->suspend(); +$dom3->suspend(); + +my $stats_pause = Sys::Virt::Domain::GET_ALL_STATS_PAUSED; + +my @dom_pause = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_pause); + +is($#dom_pause+1, 2, "list all pause domain"); + +#resume dom2 and dom3 +$dom2->resume(); +$dom3->resume(); + +my $stats_active = Sys::Virt::Domain::GET_ALL_STATS_ACTIVE; + +my@dom_active = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_active); + +is($#dom_active+1, 3, "list all active domain"); + +my $stats_shutoff = Sys::Virt::Domain::GET_ALL_STATS_SHUTOFF; + +my @dom_shutoff = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_shutoff); + +is($#dom_shutoff+1, 1, "list all shutoff domain"); + +my $stats_other = Sys::Virt::Domain::GET_ALL_STATS_OTHER; + +my @dom_other = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_other); + +is($#dom_other+1, 0, "list all other domain"); + +my $stats_enforce = Sys::Virt::Domain::GET_ALL_STATS_ENFORCE_STATS; + +my @dom_enforce = $conn->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE, undef, $stats_enforce); + +is($#dom_enforce+1, 4, "list all enforce domain"); + + + -- 1.9.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list