File Coverage

lib/Rex/Virtualization/LibVirt/vncdisplay.pm
Criterion Covered Total %
statement 17 28 60.7
branch 0 6 0.0
condition n/a
subroutine 6 7 85.7
pod 0 1 0.0
total 23 42 54.7


line stmt bran cond sub pod time code
1             #
2             # (c) Jan Gehring
3             #
4              
5             package Rex::Virtualization::LibVirt::vncdisplay;
6              
7 1     1   18 use v5.12.5;
  1         4  
8 1     1   6 use warnings;
  1         2  
  1         57  
9              
10             our $VERSION = '1.14.2.2'; # TRIAL VERSION
11              
12 1     1   7 use Rex::Logger;
  1         3  
  1         6  
13 1     1   22 use Rex::Helper::Run;
  1         3  
  1         68  
14              
15 1     1   11 use XML::Simple;
  1         3  
  1         9  
16              
17 1     1   91 use Data::Dumper;
  1         2  
  1         236  
18              
19             sub execute {
20 0     0 0   my ( $class, $vmname ) = @_;
21 0           my $virt_settings = Rex::Config->get("virtualization");
22             chomp( my $uri =
23 0 0         ref($virt_settings) ? $virt_settings->{connect} : i_run "virsh uri" );
24              
25 0 0         unless ($vmname) {
26 0           die("You have to define the vm name!");
27             }
28              
29 0           Rex::Logger::debug("Getting info of domain: $vmname");
30              
31 0           my $xml;
32              
33 0           my @vncdisplay = i_run "virsh -c $uri vncdisplay '$vmname'", fail_ok => 1;
34              
35 0 0         if ( $? != 0 ) {
36 0           die("Error running virsh vncdisplay '$vmname'");
37             }
38              
39 0           return shift @vncdisplay;
40             }
41              
42             1;