1# -*- coding: utf-8 -*-
2
3"""
4Unit tests for migration v2 streams
5"""
6
7import unittest
8
9from struct import calcsize
10
11from xen.migration import libxc, libxl
12
13class TestLibxc(unittest.TestCase):
14
15    def test_format_sizes(self):
16
17        for fmt, sz in ( (libxc.IHDR_FORMAT, 24),
18                         (libxc.DHDR_FORMAT, 16),
19                         (libxc.RH_FORMAT, 8),
20
21                         (libxc.PAGE_DATA_FORMAT, 8),
22                         (libxc.X86_PV_INFO_FORMAT, 8),
23                         (libxc.X86_PV_P2M_FRAMES_FORMAT, 8),
24                         (libxc.X86_PV_VCPU_HDR_FORMAT, 8),
25                         (libxc.X86_TSC_INFO_FORMAT, 24),
26                         (libxc.HVM_PARAMS_ENTRY_FORMAT, 16),
27                         (libxc.HVM_PARAMS_FORMAT, 8),
28                         (libxc.X86_CPUID_POLICY_FORMAT, 24),
29                         (libxc.X86_MSR_POLICY_FORMAT, 16),
30                         ):
31            self.assertEqual(calcsize(fmt), sz)
32
33
34class TestLibxl(unittest.TestCase):
35
36    def test_format_sizes(self):
37
38        for fmt, sz in ( (libxl.HDR_FORMAT, 16),
39                         (libxl.RH_FORMAT, 8),
40
41                         (libxl.EMULATOR_HEADER_FORMAT, 8),
42                         ):
43            self.assertEqual(calcsize(fmt), sz)
44