Error in "tc_lib._handle_from_hex_to_string" formatting

"tc_lib._handle_from_hex_to_string" should print major and minor values
in hex format, not in decimal format:
  0xMMMMmmmm -> "M:m"
  0x123A456B -> "123A:456B"

Change-Id: I91eb5d9fc58e8233c48b6aabba772cd6ff65a156
Closes-Bug: #1826570
This commit is contained in:
Rodolfo Alonso Hernandez 2019-04-26 15:28:45 +00:00
parent bd3d85807c
commit 9bc45d70c6
2 changed files with 14 additions and 2 deletions

View File

@ -156,8 +156,8 @@ def _handle_from_hex_to_string(handle):
:param handle: (int) TC handle
:return: (string) handle formatted to string: 0xMMMMmmmm -> "M:m"
"""
minor = str(handle & 0xFFFF)
major = str((handle & 0xFFFF0000) >> 16)
minor = format(handle & 0xFFFF, 'x')
major = format((handle & 0xFFFF0000) >> 16, 'x')
return ':'.join([major, minor])

View File

@ -101,6 +101,18 @@ class TestIECUnitConversions(BaseUnitConversionTest, base.BaseTestCase):
base_unit = constants.IEC_BASE
class TestHandleFromHexToString(base.BaseTestCase):
def test_run(self):
test_cases = [(0x1, '0:1'),
(0x2a003f, '2a:3f'),
(0xf0000, 'f:0'),
(0xffffffff, 'ffff:ffff'),
(0x12345678, '1234:5678')]
for _in, expected in test_cases:
self.assertEqual(expected, tc_lib._handle_from_hex_to_string(_in))
class TestTcCommand(base.BaseTestCase):
def setUp(self):
super(TestTcCommand, self).setUp()