]> git.proxmox.com Git - qemu-server.git/blame - test/run_ovf_tests.pl
test: print more info when OVF parsing fails
[qemu-server.git] / test / run_ovf_tests.pl
CommitLineData
5fd0910b
EK
1#!/usr/bin/perl
2
3use strict;
4use warnings;
5use lib qw(..); # prepend .. to @INC so we use the local version of PVE packages
6
7use FindBin '$Bin';
8use PVE::QemuServer::OVF;
9use Test::More;
10
11use Data::Dumper;
12
13my $test_manifests = join ('/', $Bin, 'ovf_manifests');
14
31bf5a0f
DC
15print "parsing ovfs\n";
16
17my $win2008 = eval { PVE::QemuServer::OVF::parse_ovf("$test_manifests/Win_2008_R2_two-disks.ovf") };
18if (my $err = $@) {
19 fail('parse win2008');
20 warn("error: $err\n");
21} else {
22 ok('parse win2008');
23}
24my $win10 = eval { PVE::QemuServer::OVF::parse_ovf("$test_manifests/Win10-Liz.ovf") };
25if (my $err = $@) {
26 fail('parse win10');
27 warn("error: $err\n");
28} else {
29 ok('parse win10');
30}
5fd0910b
EK
31
32print "testing disks\n";
33
34is($win2008->{disks}->[0]->{disk_address}, 'scsi0', 'multidisk vm has the correct first disk controller');
35is($win2008->{disks}->[0]->{backing_file}, "$test_manifests/disk1.vmdk", 'multidisk vm has the correct first disk backing device');
36is($win2008->{disks}->[0]->{virtual_size}, 2048, 'multidisk vm has the correct first disk size');
37
38is($win2008->{disks}->[1]->{disk_address}, 'scsi1', 'multidisk vm has the correct second disk controller');
39is($win2008->{disks}->[1]->{backing_file}, "$test_manifests/disk2.vmdk", 'multidisk vm has the correct second disk backing device');
40is($win2008->{disks}->[1]->{virtual_size}, 2048, 'multidisk vm has the correct second disk size');
41
42is($win10->{disks}->[0]->{disk_address}, 'scsi0', 'single disk vm has the correct disk controller');
43is($win10->{disks}->[0]->{backing_file}, "$test_manifests/Win10-Liz-disk1.vmdk", 'single disk vm has the correct disk backing device');
44is($win10->{disks}->[0]->{virtual_size}, 2048, 'single disk vm has the correct size');
45
46print "\ntesting vm.conf extraction\n";
47
48is($win2008->{qm}->{name}, 'Win2008-R2x64', 'win2008 VM name is correct');
49is($win2008->{qm}->{memory}, '2048', 'win2008 VM memory is correct');
50is($win2008->{qm}->{cores}, '1', 'win2008 VM cores are correct');
51
52is($win10->{qm}->{name}, 'Win10-Liz', 'win10 VM name is correct');
53is($win10->{qm}->{memory}, '6144', 'win10 VM memory is correct');
54is($win10->{qm}->{cores}, '4', 'win10 VM cores are correct');
55
56done_testing();