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