You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
"""Provides utilities to support bluetooth adapter tests"""
|
|
|
|
from __future__ import absolute_import
|
|
|
|
import common
|
|
from autotest_lib.client.bin.input.linux_input import EV_KEY
|
|
from autotest_lib.server.cros.bluetooth.debug_linux_keymap import (
|
|
linux_input_keymap)
|
|
from ast import literal_eval as make_tuple
|
|
import logging
|
|
|
|
|
|
def reconstruct_string(events):
|
|
""" Tries to reconstruct a string from linux input in a simple way
|
|
|
|
@param events: list of event objects received over the BT channel
|
|
|
|
@returns: reconstructed string
|
|
"""
|
|
recon = []
|
|
|
|
for ev in events:
|
|
# If it's a key pressed event
|
|
if ev.type == EV_KEY and ev.value == 1:
|
|
recon.append(linux_input_keymap.get(ev.code, "_"))
|
|
|
|
return "".join(recon)
|
|
|
|
|
|
def parse_trace_file(filename):
|
|
""" Reads contents of trace file
|
|
|
|
@param filename: location of trace file on disk
|
|
|
|
@returns: structure containing contents of filename
|
|
"""
|
|
|
|
contents = []
|
|
|
|
try:
|
|
with open(filename, 'r') as mf:
|
|
for line in mf:
|
|
# Reconstruct tuple and add to trace
|
|
contents.append(make_tuple(line))
|
|
except EnvironmentError:
|
|
logging.error('Unable to open file %s', filename)
|
|
return None
|
|
|
|
return contents
|