Fix tracing

This commit is contained in:
Davide Toldo
2020-10-16 18:21:34 +02:00
parent 11614ea3dc
commit b572b7bc43
3 changed files with 34 additions and 40 deletions
+12 -12
View File
@@ -134,22 +134,22 @@ class TraceToFileHook(SocketDuplexHook):
self.closed = False
def recv_hook(self, data):
line = "RX {}\n".format(binascii.hexlify(data))
line = "RX {}\n".format(data.hex())
print(line)
self.log.append(line)
def send_hook(self, data):
line = "TX {}\n".format(binascii.hexlify(data))
line = "TX {}\n".format(data.hex())
print(line)
self.log.append(line)
def recvfrom_hook(self, data, socket, **kwargs):
line = "RX {}\n".format(binascii.hexlify(data))
line = "RX {}\n".format(data.hex())
print(line)
self.log.append(line)
def sendto_hook(self, data, socket, **kwargs):
line = "TX {}\n".format(binascii.hexlify(data))
line = "TX {}\n".format(data.hex())
print(line)
self.log.append(line)
@@ -173,16 +173,16 @@ import socket
class PrintTrace(SocketDuplexHook):
def send_hook(self, data, **kwargs):
print("Sent: {}".format(binascii.hexlify(data)))
print("Sent: {}".format(data.hex()))
def recv_hook(self, data, **kwargs):
print("Recv: {}".format(binascii.hexlify(data)))
print("Recv: {}".format(data.hex()))
def recvfrom_hook(self, data, addr, **kwargs):
print("Recv: {}".format(binascii.hexlify(data)))
print("Recv: {}".format(data.hex()))
def sendto_hook(self, data, socket, **kwargs):
print("Sent: {}".format(binascii.hexlify(data)))
print("Sent: {}".format(data.hex()))
def send_exception(self, e):
print("Exception: {}".format(e))
@@ -203,19 +203,19 @@ class ReplaySocket(SocketDuplexHook):
def send_hook(self, data, **kwargs):
if self.debug:
print("Sent: {}".format(binascii.hexlify(data)))
print("Sent: {}".format(data.hex()))
def recv_hook(self, data, **kwargs):
if self.debug:
print("Recv: {}".format(binascii.hexlify(data)))
print("Recv: {}".format(data.hex()))
def recvfrom_hook(self, data, addr, **kwargs):
if self.debug:
print("Recv: {}".format(binascii.hexlify(data)))
print("Recv: {}".format(data.hex()))
def sendto_hook(self, data, socket, **kwargs):
if self.debug:
print("Sent: {}".format(binascii.hexlify(data)))
print("Sent: {}".format(data.hex()))
def send_exception(self, e):
if self.debug:
+2 -10
View File
@@ -1,19 +1,11 @@
from __future__ import print_function
from __future__ import absolute_import
from .testwrapper import trace_test, get_trace_path_cmd_tuple
from tests.traces.testwrapper import trace_test, get_trace_path_cmd_tuple
import unittest
import os
tracedir = os.path.dirname(__file__)
#cores = ['macoscore', 'ioscore', 'adbcore', 'hcicore']
import unittest
def generate_test_suite_from_traces():
+20 -18
View File
@@ -1,7 +1,7 @@
from builtins import object
import argparse
from internalblue.cli import internalblue_cli, _parse_argv
from internalblue.cli import InternalBlueCLI, parse_args
import os
@@ -41,28 +41,30 @@ def get_trace_path_cmd_tuple(core, tracefile):
with open(tracepath) as f:
cmd = f.readline()
if cmd.startswith("#"):
return tracepath, cmd[1:]
return tracepath, cmd[1:-1]
else:
return tracepath, None
def trace_test(core, tracepath, commands):
args = _parse_argv("")
args, unknown_args = parse_args()
args.device = core_to_device[core]
args.replay = tracepath
args.commands = commands + "; quit"
internalblue_cli("", args=args)
cli = InternalBlueCLI(args)
cmd_array = commands.split("; ")
if "quit" not in cmd_array[len(cmd_array)-1]:
cmd_array += "quit"
cli.runcmds_plus_hooks(cmd_array)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("--core")
parser.add_argument("--trace")
parser.add_argument("--commands")
args = parser.parse_args()
tracepath, commands = get_trace_path_cmd_tuple(args.core, args.trace)
trace_test(args.core, tracepath, commands)
# TODO: - Running individual tests with this method is currently a bit broken
# if __name__ == '__main__':
# parser = argparse.ArgumentParser()
# parser.add_argument("--core")
# parser.add_argument("--trace")
# parser.add_argument("--commands")
# margs = parser.parse_args()
#
# tracepath, commands = get_trace_path_cmd_tuple(margs.core, margs.trace)
# print(tracepath)
# print(commands)
# trace_test(margs.core, tracepath, commands)