# Lint as: python3 # Copyright 2022 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import unittest from autotest_lib.client.cros.bluetooth.hcitool import HciToolParser class HciToolParserTest(unittest.TestCase): """Unit test for class HciToolParser.""" def test_parse_output(self): VALID_OUTPUT = ('< HCI Command: ogf 0x04, ocf 0x0003, plen 0\n' '> HCI Event: 0x0e plen 12\n' ' 01 03 10 00 BF FE 0F FE DB FF 7B 87') VALID_EVENT_TYPE = '0x0e' VALID_PLEN_VALUE = 9 VALID_PASS_STATUS_CODE = 0 VALID_PAYLOAD = bytearray.fromhex('00 BF FE 0F FE DB FF 7B 87') parser_output = HciToolParser.parse_output(VALID_OUTPUT) event_type, plen_value, status, payload = parser_output self.assertEqual(event_type, VALID_EVENT_TYPE) self.assertEqual(plen_value, VALID_PLEN_VALUE) self.assertEqual(status, VALID_PASS_STATUS_CODE) self.assertEqual(payload, VALID_PAYLOAD)