1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4"""
5Unit tests for migration v2 streams
6"""
7
8import unittest
9
10from struct import calcsize
11
12from xen.migration import libxc, libxl
13
14class TestLibxc(unittest.TestCase):
15
16    def test_format_sizes(self):
17
18        for fmt, sz in ( (libxc.IHDR_FORMAT, 24),
19                         (libxc.DHDR_FORMAT, 16),
20                         (libxc.RH_FORMAT, 8),
21
22                         (libxc.PAGE_DATA_FORMAT, 8),
23                         (libxc.X86_PV_INFO_FORMAT, 8),
24                         (libxc.X86_PV_P2M_FRAMES_FORMAT, 8),
25                         (libxc.X86_PV_VCPU_HDR_FORMAT, 8),
26                         (libxc.TSC_INFO_FORMAT, 24),
27                         (libxc.HVM_PARAMS_ENTRY_FORMAT, 16),
28                         (libxc.HVM_PARAMS_FORMAT, 8),
29                         ):
30            self.assertEqual(calcsize(fmt), sz)
31
32
33class TestLibxl(unittest.TestCase):
34
35    def test_format_sizes(self):
36
37        for fmt, sz in ( (libxl.HDR_FORMAT, 16),
38                         (libxl.RH_FORMAT, 8),
39
40                         (libxl.EMULATOR_HEADER_FORMAT, 8),
41                         ):
42            self.assertEqual(calcsize(fmt), sz)
43
44
45def test_suite():
46    suite = unittest.TestSuite()
47
48    suite.addTest(unittest.makeSuite(TestLibxc))
49    suite.addTest(unittest.makeSuite(TestLibxl))
50
51    return suite
52
53if __name__ == "__main__":
54    unittest.main()
55