824a562d7f8ad83d39c2cd4489d058cfc9b9cba5
[ganeti-github.git] / test / py / ganeti.hypervisor.hv_xen_unittest.py
1 #!/usr/bin/python
2 #
3
4 # Copyright (C) 2011 Google Inc.
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 # 02110-1301, USA.
20
21
22 """Script for testing ganeti.hypervisor.hv_lxc"""
23
24 import unittest
25
26 from ganeti import constants
27 from ganeti import objects
28 from ganeti import hypervisor
29
30 from ganeti.hypervisor import hv_xen
31
32 import testutils
33
34
35 class TestConsole(unittest.TestCase):
36 def test(self):
37 for cls in [hv_xen.XenPvmHypervisor, hv_xen.XenHvmHypervisor]:
38 instance = objects.Instance(name="xen.example.com",
39 primary_node="node24828")
40 cons = cls.GetInstanceConsole(instance, {}, {})
41 self.assertTrue(cons.Validate())
42 self.assertEqual(cons.kind, constants.CONS_SSH)
43 self.assertEqual(cons.host, instance.primary_node)
44 self.assertEqual(cons.command[-1], instance.name)
45
46
47 class TestCreateConfigCpus(unittest.TestCase):
48 def testEmpty(self):
49 for cpu_mask in [None, ""]:
50 self.assertEqual(hv_xen._CreateConfigCpus(cpu_mask),
51 "cpus = [ ]")
52
53 def testAll(self):
54 self.assertEqual(hv_xen._CreateConfigCpus(constants.CPU_PINNING_ALL),
55 None)
56
57 def testOne(self):
58 self.assertEqual(hv_xen._CreateConfigCpus("9"), "cpu = \"9\"")
59
60 def testMultiple(self):
61 self.assertEqual(hv_xen._CreateConfigCpus("0-2,4,5-5:3:all"),
62 ("cpus = [ \"0,1,2,4,5\", \"3\", \"%s\" ]" %
63 constants.CPU_PINNING_ALL_XEN))
64
65
66 if __name__ == "__main__":
67 testutils.GanetiTestProgram()