~ubuntu-branches/ubuntu/quantal/virtinst/quantal-proposed

« back to all changes in this revision

Viewing changes to tests/xmlconfig.py

  • Committer: Bazaar Package Importer
  • Author(s): Soren Hansen
  • Date: 2007-11-20 13:40:28 UTC
  • Revision ID: james.westby@ubuntu.com-20071120134028-rg0pjby0jc4mycks
Tags: upstream-0.300.1+hg20071120
ImportĀ upstreamĀ versionĀ 0.300.1+hg20071120

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# This program is free software; you can redistribute it and/or modify
 
3
# it under the terms of the GNU General Public License as published by
 
4
# the Free  Software Foundation; either version 2 of the License, or
 
5
# (at your option)  any later version.
 
6
#
 
7
# This program is distributed in the hope that it will be useful,
 
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
10
# GNU General Public License for more details.
 
11
#
 
12
# You should have received a copy of the GNU General Public License
 
13
# along with this program; if not, write to the Free Software
 
14
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 
15
# MA 02110-1301 USA.
 
16
 
 
17
import string
 
18
import unittest
 
19
import virtinst
 
20
import os
 
21
import libvirt
 
22
import urlgrabber.progress as progress
 
23
 
 
24
class TestXMLConfig(unittest.TestCase):
 
25
 
 
26
    def _compare(self, xenguest, filebase, install):
 
27
        f = open("tests/" + filebase + ".xml", "r")
 
28
        expectXML = string.join(f.readlines(), "")
 
29
        f.close()
 
30
 
 
31
        xenguest._prepare_install(progress.BaseMeter())
 
32
        try:
 
33
            actualXML = xenguest.get_config_xml(install=install)
 
34
 
 
35
            if os.environ.has_key("DEBUG_TESTS") and os.environ["DEBUG_TESTS"] == "1" and actualXML != expectXML:
 
36
                print "Expect: %d bytes '%s'" % (len(expectXML),  expectXML)
 
37
                print "Actual: %d bytes '%s'" % (len(actualXML),  actualXML)
 
38
 
 
39
            self.assertEqual(actualXML, expectXML)
 
40
        finally:
 
41
            xenguest._installer.cleanup()
 
42
 
 
43
    def _get_basic_paravirt_guest(self):
 
44
        conn = libvirt.openReadOnly("test:///default")
 
45
        g = virtinst.ParaVirtGuest(connection=conn, type="xen")
 
46
        g.name = "TestGuest"
 
47
        g.memory = int(200)
 
48
        g.maxmemory = int(400)
 
49
        g.uuid = "12345678-1234-1234-1234-123456789012"
 
50
        g.boot = ["/boot/vmlinuz","/boot/initrd"]
 
51
        g.graphics = (True, "vnc", None, "ja")
 
52
        g.vcpus = 5
 
53
        return g
 
54
 
 
55
    def _get_basic_fullyvirt_guest(self):
 
56
        conn = libvirt.openReadOnly("test:///default")
 
57
        g = virtinst.FullVirtGuest(connection=conn, type="xen",
 
58
                                   emulator="/usr/lib/xen/bin/qemu-dm")
 
59
        g.name = "TestGuest"
 
60
        g.memory = int(200)
 
61
        g.maxmemory = int(400)
 
62
        g.uuid = "12345678-1234-1234-1234-123456789012"
 
63
        g.cdrom = "/dev/loop0"
 
64
        g.set_os_type("other")
 
65
        g.set_os_variant("generic")
 
66
        g.graphics = (True, "sdl")
 
67
        g.features['pae'] = 0
 
68
        g.vcpus = 5
 
69
        return g
 
70
 
 
71
    def testBootParavirtDiskFile(self):
 
72
        g = self._get_basic_paravirt_guest()
 
73
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE,size=5))
 
74
        self._compare(g, "boot-paravirt-disk-file", False)
 
75
 
 
76
    def testBootParavirtDiskBlock(self):
 
77
        g = self._get_basic_paravirt_guest()
 
78
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK))
 
79
        self._compare(g, "boot-paravirt-disk-block", False)
 
80
 
 
81
    def testBootParavirtDiskDrvPhy(self):
 
82
        g = self._get_basic_paravirt_guest()
 
83
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK, \
 
84
                                       driverName = virtinst.VirtualDisk.DRIVER_PHY))
 
85
        self._compare(g, "boot-paravirt-disk-drv-phy", False)
 
86
 
 
87
    def testBootParavirtDiskDrvFile(self):
 
88
        g = self._get_basic_paravirt_guest()
 
89
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
90
                                       driverName = virtinst.VirtualDisk.DRIVER_FILE,size=5))
 
91
        self._compare(g, "boot-paravirt-disk-drv-file", False)
 
92
 
 
93
    def testBootParavirtDiskDrvTap(self):
 
94
        g = self._get_basic_paravirt_guest()
 
95
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
96
                                       driverName = virtinst.VirtualDisk.DRIVER_TAP,size=5))
 
97
        self._compare(g, "boot-paravirt-disk-drv-tap", False)
 
98
 
 
99
    def testBootParavirtDiskDrvTapQCow(self):
 
100
        g = self._get_basic_paravirt_guest()
 
101
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
102
                                       driverName = virtinst.VirtualDisk.DRIVER_TAP, \
 
103
                                       driverType = virtinst.VirtualDisk.DRIVER_TAP_QCOW,size=5))
 
104
        self._compare(g, "boot-paravirt-disk-drv-tap-qcow", False)
 
105
 
 
106
    def testBootParavirtManyDisks(self):
 
107
        g = self._get_basic_paravirt_guest()
 
108
        g.disks.append(virtinst.VirtualDisk("/etc/test1.img", type=virtinst.VirtualDisk.TYPE_FILE,size=5))
 
109
        g.disks.append(virtinst.VirtualDisk("/etc/test2.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
110
                                       driverName = virtinst.VirtualDisk.DRIVER_TAP, \
 
111
                                       driverType = virtinst.VirtualDisk.DRIVER_TAP_QCOW,size=5))
 
112
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK))
 
113
        self._compare(g, "boot-paravirt-many-disks", False)
 
114
 
 
115
    def testBootFullyvirtDiskFile(self):
 
116
        g = self._get_basic_fullyvirt_guest()
 
117
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE,size=5))
 
118
        self._compare(g, "boot-fullyvirt-disk-file", False)
 
119
 
 
120
    def testBootFullyvirtDiskBlock(self):
 
121
        g = self._get_basic_fullyvirt_guest()
 
122
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK))
 
123
        self._compare(g, "boot-fullyvirt-disk-block", False)
 
124
 
 
125
 
 
126
 
 
127
 
 
128
    def testInstallParavirtDiskFile(self):
 
129
        g = self._get_basic_paravirt_guest()
 
130
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE,size=5))
 
131
        self._compare(g, "install-paravirt-disk-file", True)
 
132
 
 
133
    def testInstallParavirtDiskBlock(self):
 
134
        g = self._get_basic_paravirt_guest()
 
135
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK))
 
136
        self._compare(g, "install-paravirt-disk-block", True)
 
137
 
 
138
    def testInstallParavirtDiskDrvPhy(self):
 
139
        g = self._get_basic_paravirt_guest()
 
140
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK, \
 
141
                                       driverName = virtinst.VirtualDisk.DRIVER_PHY))
 
142
        self._compare(g, "install-paravirt-disk-drv-phy", True)
 
143
 
 
144
    def testInstallParavirtDiskDrvFile(self):
 
145
        g = self._get_basic_paravirt_guest()
 
146
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
147
                                       driverName = virtinst.VirtualDisk.DRIVER_FILE,size=5))
 
148
        self._compare(g, "install-paravirt-disk-drv-file", True)
 
149
 
 
150
    def testInstallParavirtDiskDrvTap(self):
 
151
        g = self._get_basic_paravirt_guest()
 
152
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
153
                                       driverName = virtinst.VirtualDisk.DRIVER_TAP,size=5))
 
154
        self._compare(g, "install-paravirt-disk-drv-tap", True)
 
155
 
 
156
    def testInstallParavirtDiskDrvTapQCow(self):
 
157
        g = self._get_basic_paravirt_guest()
 
158
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
159
                                       driverName = virtinst.VirtualDisk.DRIVER_TAP, \
 
160
                                       driverType = virtinst.VirtualDisk.DRIVER_TAP_QCOW,size=5))
 
161
        self._compare(g, "install-paravirt-disk-drv-tap-qcow", True)
 
162
 
 
163
    def testInstallParavirtManyDisks(self):
 
164
        g = self._get_basic_paravirt_guest()
 
165
        g.disks.append(virtinst.VirtualDisk("/etc/test1.img", type=virtinst.VirtualDisk.TYPE_FILE,size=5))
 
166
        g.disks.append(virtinst.VirtualDisk("/etc/test2.img", type=virtinst.VirtualDisk.TYPE_FILE, \
 
167
                                       driverName = virtinst.VirtualDisk.DRIVER_TAP, \
 
168
                                       driverType = virtinst.VirtualDisk.DRIVER_TAP_QCOW,size=5))
 
169
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK))
 
170
        self._compare(g, "install-paravirt-many-disks", True)
 
171
 
 
172
    def testInstallFullyvirtDiskFile(self):
 
173
        g = self._get_basic_fullyvirt_guest()
 
174
        g.disks.append(virtinst.VirtualDisk("/etc/test.img", type=virtinst.VirtualDisk.TYPE_FILE,size=5))
 
175
        self._compare(g, "install-fullyvirt-disk-file", True)
 
176
 
 
177
    def testInstallFullyvirtDiskBlock(self):
 
178
        g = self._get_basic_fullyvirt_guest()
 
179
        g.disks.append(virtinst.VirtualDisk("/dev/loop0", type=virtinst.VirtualDisk.TYPE_BLOCK))
 
180
        self._compare(g, "install-fullyvirt-disk-block", True)
 
181
 
 
182
 
 
183
 
 
184
if __name__ == "__main__":
 
185
    unittest.main()
 
186