⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_create.py

📁 xen虚拟机源代码安装包
💻 PY
字号:
import osimport os.pathimport tempfileimport unittestimport xen.xend.XendOptionsxen.xend.XendOptions.XendOptions.config_default = '/dev/null'import xen.xm.createclass test_create(unittest.TestCase):    def assertEqualModuloNulls_(self, a, b):        for k, v in a.iteritems():            if v:                self.failUnless(k in b, '%s not in b' % k)                self.assertEqual(v, b[k])            else:                self.assert_(k not in b or not b[k], '%s in b' % k)    def assertEqualModuloNulls(self, a, b):        self.assertEqualModuloNulls_(a, b)        self.assertEqualModuloNulls_(b, a)    def t(self, args, expected):        self.assertEqualModuloNulls(            xen.xm.create.parseCommandLine(args.split(' '))[0].vals.__dict__,            expected)    def testCommandLine(self):        (fd, fname) = tempfile.mkstemp()        os.close(fd)        self.t('-f %s kernel=/mykernel display=fakedisplay '               'macaddr=ab:cd:ef:ed' % fname,               { 'name'      : os.path.basename(fname),                 'xm_file'   : fname,                 'defconfig' : fname,                 'kernel'    : '/mykernel',                 'display'   : 'fakedisplay',                 'macaddr'   : 'ab:cd:ef:ed',                 'memory'    : 128,                 'vcpus'     : 1,                 'boot'      : 'c',                 'dhcp'      : 'off',                 'interface' : 'eth0',                 'path'      : '.:/etc/xen',                 'builder'   : 'linux',                 'nics'      : -1,                 'vncunused' : 1,                 'xauthority': xen.xm.create.get_xauthority(),                 })    def testConfigFile(self):        (fd, fname) = tempfile.mkstemp()        try:            os.write(fd,                     '''kernel = "/boot/vmlinuz-xenU-smp"memory = 768name = "dom1"vcpus = 4disk = ['phy:/dev/virt-blkdev-backend/dom1,sda1,w','phy:/dev/virt-blkdev-backend/usr,sda2,r']root = "/dev/sda1 ro"extra = " profile=1 GATEWAY=192.0.2.254 NETMASK=255.255.255.0 IPADDR=192.0.2.1 HOSTNAME=dom1"on_poweroff = 'destroy'on_reboot   = 'destroy'on_crash    = 'destroy'                     ''')        finally:            os.close(fd)        self.t('-f %s display=fakedisplay' % fname,               { 'kernel'      : '/boot/vmlinuz-xenU-smp',                 'memory'      : 768,                 'name'        : 'dom1',                 'vcpus'       : 4,                 'nics'        : -1,                 'root'        : '/dev/sda1 ro',                 'extra'       : ' profile=1 GATEWAY=192.0.2.254 NETMASK=255.255.255.0 IPADDR=192.0.2.1 HOSTNAME=dom1',                 'on_poweroff' : 'destroy',                 'on_reboot'   : 'destroy',                 'on_crash'    : 'destroy',                 'disk'        : [['phy:/dev/virt-blkdev-backend/dom1',                                   'sda1', 'w', None],                                  ['phy:/dev/virt-blkdev-backend/usr',                                   'sda2', 'r', None]],                 'xm_file'     : fname,                 'defconfig'   : fname,                 'display'     : 'fakedisplay',                 'boot'        : 'c',                 'dhcp'        : 'off',                 'interface'   : 'eth0',                 'path'        : '.:/etc/xen',                 'builder'     : 'linux',                 'vncunused'   : 1,                 'xauthority'  : xen.xm.create.get_xauthority(),               })    def testConfigFileAndCommandLine(self):        (fd, fname) = tempfile.mkstemp()        try:            os.write(fd,                     '''name       = "testname"memory     = 256kernel     = "/mykernel"maxmem     = 1024cpu        = 2cpu_weight = 0.75                     ''')        finally:            os.close(fd)        self.t('-f %s display=fakedisplay macaddr=ab:cd:ef:ed' %          fname,               { 'name'       : 'testname',                 'xm_file'    : fname,                 'defconfig'  : fname,                 'kernel'     : '/mykernel',                 'display'    : 'fakedisplay',                 'macaddr'    : 'ab:cd:ef:ed',                 'memory'     : 256,                 'maxmem'     : 1024,                 'cpu'        : 2,                 'cpu_weight' : 0.75,                 'vcpus'      : 1,                 'boot'       : 'c',                 'dhcp'       : 'off',                 'interface'  : 'eth0',                 'path'       : '.:/etc/xen',                 'builder'    : 'linux',                 'nics'       : -1,                 'vncunused'   : 1,                 'xauthority' : xen.xm.create.get_xauthority(),                 })                def testHVMConfigFile(self):        (fd, fname) = tempfile.mkstemp()        try:            os.write(fd,                     '''kernel = "/usr/lib/xen/boot/hvmloader"builder='hvm'memory = 128name = "ExampleHVMDomain"vcpus=1vif = [ 'type=ioemu, bridge=xenbr0' ]disk = [ 'file:/var/images/min-el3-i386.img,ioemu:hda,w' ]device_model = '/usr/lib/xen/bin/qemu-dm'sdl=0vnc=1vncviewer=1ne2000=0                     ''')        finally:            os.close(fd)        self.t('-f %s display=fakedisplay' % fname,               { 'kernel'      : '/usr/lib/xen/boot/hvmloader',                 'builder'     : 'hvm',                 'memory'      : 128,                 'name'        : 'ExampleHVMDomain',                 'vcpus'       : 1,                 'nics'        : -1,                 'vif'         : ['type=ioemu, bridge=xenbr0'],                 'disk'        : [['file:/var/images/min-el3-i386.img',                                   'ioemu:hda', 'w', None]],                 'device_model': '/usr/lib/xen/bin/qemu-dm',                 'extra'       : ('VNC_VIEWER=%s:%d ' %                                  (xen.xm.create.get_host_addr(),                                   xen.xm.create.VNC_BASE_PORT +                                   xen.xm.create.choose_vnc_display())),                 'vnc'         : 1,                 'vncunused'   : 1,                 'vncviewer'   : 1,                 'xm_file'     : fname,                 'defconfig'   : fname,                 'display'     : 'fakedisplay',                 'boot'        : 'c',                 'dhcp'        : 'off',                 'interface'   : 'eth0',                 'path'        : '.:/etc/xen',                 'xauthority'  : xen.xm.create.get_xauthority(),               })def test_suite():    return unittest.makeSuite(test_create)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -