29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
# 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)
|