Hopefully that's going to be consistent across platforms, compilers and ABI.
Change-Id: I0b82565288d88fd046278d4d8288ec1488273ba5
Signed-off-by: Ole Troan <ot@cisco.com>
%files api-python
%defattr(644,root,root)
%{python2_sitelib}/vpp_*
+%{python2_sitelib}/tests/*
%files selinux-policy
%defattr(-,root,root,0755)
from distutils.core import setup, find_packages
setup(name='vpp_papi',
- version='1.5',
+ version='1.6',
description='VPP Python binding',
author='Ole Troan',
author_email='ot@cisco.com',
[['u8', 'is_bool'],
['u32', 'is_int']])
- b = un.pack({'is_int': 0x1234})
+ b = un.pack({'is_int': 0x12345678})
self.assertEqual(len(b), 4)
nt = un.unpack(b)
- self.assertEqual(nt.is_bool, 52)
- self.assertEqual(nt.is_int, 0x1234)
+ self.assertEqual(nt.is_bool, 0x12)
+ self.assertEqual(nt.is_int, 0x12345678)
def test_address(self):
af = VPPEnumType('vl_api_address_family_t', [["ADDRESS_IP4", 0],
self.assertEqual(nt.un.ip4.address,
inet_pton(AF_INET, '2.2.2.2'))
self.assertEqual(nt.un.ip6.address,
- inet_pton(AF_INET6, '::0202:0202'))
+ inet_pton(AF_INET6, '0202:0202::'))
def test_arrays(self):
# Test cases
for k, v in data.items():
logger.debug("Key: {} Value: {}".format(k, v))
b = self.packers[k].pack(v, kwargs)
- offset = self.size - self.packers[k].size
break
r = bytearray(self.size)
- r[offset:] = b
+ r[:len(b)] = b
return r
def unpack(self, data, offset=0, result=None):
r = []
for k, p in self.packers.items():
- union_offset = self.size - p.size
- r.append(p.unpack(data, offset + union_offset))
+ r.append(p.unpack(data, offset))
return self.tuple._make(r)