Skip to content

Commit

Permalink
feat(teraterm mode): Support logstop command
Browse files Browse the repository at this point in the history
  • Loading branch information
ShuangLiang-OSS committed Feb 8, 2024
1 parent 9cffa11 commit b09168f
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 17 deletions.
4 changes: 2 additions & 2 deletions pyautoport/addon/adb.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,13 @@ def set_timeout(self, timeout):
""" set timeout in adb session """
self.timeout = timeout

def set_log(self, log_file):
def set_log(self, log_file='adb.log', save_flag=True):
""" set logstart in adb session """
if self.running:
self.disconnect()
serial_port = os.environ.get('TESTER_ADB_PORT', '')
self.log_file = log_file
self.save_log = True
self.save_log = save_flag
self.connect(serial_port=serial_port)
with open(self.log_file, 'w', encoding='utf-8', errors='ignore') as f:
f.write(f'>>>>>>>>>> adb log start, port={serial_port}\n')
Expand Down
4 changes: 2 additions & 2 deletions pyautoport/addon/addon.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ def set_timeout(self, timeout):
""" abstractmentod for set timeout """

@abstractmethod
def set_log(self, log_file):
""" abstractmentod for set logstart """
def set_log(self, log_file, save_flag):
""" abstractmentod for set logstart/logstop """

@abstractmethod
def connect(self):
Expand Down
4 changes: 2 additions & 2 deletions pyautoport/addon/tty.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def set_timeout(self, timeout):
""" set timeout in uart session """
self.timeout = timeout

def set_log(self, log_file):
def set_log(self, log_file='tty.log', save_flag=True):
""" set logstart in uart session """
if self.port and self.port.is_open:
self.port.close()
Expand All @@ -104,7 +104,7 @@ def set_log(self, log_file):
port = os.environ.get('TESTER_UART_PORT', '/dev/ttyACM0')
baudrate = os.environ.get('TESTER_UART_BAUDRATE', '125000')
self.log_file = log_file
self.save_log = True
self.save_log = save_flag
self.connect(port=port, baudrate=baudrate)
with open(self.log_file, 'w', encoding='utf-8', errors='ignore') as f:
f.write(f'>>>>>>>>>> tty log start, port={port}, baudrate={baudrate}\n')
Expand Down
6 changes: 3 additions & 3 deletions pyautoport/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ def set_timeout(self, timeout):
""" set timeout """
self.strategy.set_timeout(timeout)

def set_log(self, log_file):
""" log start """
self.strategy.set_log(log_file)
def set_log(self, *args, **kwargs):
""" log start/stop """
self.strategy.set_log(*args, **kwargs)

def set_timestamp(self):
""" set timestamp """
Expand Down
24 changes: 17 additions & 7 deletions pyautoport/teraterm.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,16 @@ def recv_handle(session, queue_recv):
break
if data_function == 'send' and check_connection(session):
send(session, data[data_index+1:])
if data_function == 'save' and check_connection(session):
set_log(session, data[data_index+1:])
if data_function == 'logstart' and check_connection(session):
set_log(session, data[data_index+1:], True)
if data_function == 'set_timestamp' and check_connection(session):
set_timestamp(session)
if data_function == 'pause':
time.sleep(float(data[data_index+1:]))
if data_function == 'send_log' and check_connection(session):
send_log(session, data[data_index+1:])
if data_function == 'logstop' and check_connection(session):
set_log(session, None, False)
time.sleep(0.3)

def check_connection(session):
Expand Down Expand Up @@ -152,9 +154,13 @@ def send(session, text):
""" send text in session """
session.send_data(text)

def set_log(session, file_name):
""" set save log in session """
session.set_log(file_name)
def set_log(session, file_name, save_flag):
""" set start/stop log in session """
if file_name is not None:
session.set_log(log_file=file_name, save_flag=save_flag)
else:
session.set_log(save_flag=save_flag)

time.sleep(0.3)

def set_timestamp(session):
Expand Down Expand Up @@ -217,12 +223,16 @@ def send_via_bash():
text = ' '.join(args.text)
client_socket_send(f'itsend@{text}\n'.encode())

def set_log_via_bash():
def start_log_via_bash():
""" Python or Bash entry for logstart """
parser = argparse.ArgumentParser()
parser.add_argument('file', help='Save log')
args = parser.parse_args()
client_socket_send(f'itsave@{args.file}\n'.encode())
client_socket_send(f'itlogstart@{args.file}\n'.encode())

def stop_log_via_bash():
""" Python or Bash entry for logstop """
client_socket_send(f'itlogstop@\n'.encode())

def set_timestamp_via_bash():
""" Python or Bash entry for set timestamp display """
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,9 @@
'connect = pyautoport.teraterm:connect_via_bash',
'send = pyautoport.teraterm:send_via_bash',
'mpause = pyautoport.teraterm:set_pause_via_bash',
'logstart = pyautoport.teraterm:set_log_via_bash',
'logstart = pyautoport.teraterm:start_log_via_bash',
'logwrite = pyautoport.teraterm:send_log_via_bash',
'logstop = pyautoport.teraterm:stop_log_via_bash',
'set_timestamp = pyautoport.teraterm:set_timestamp_via_bash',
'disconnect = pyautoport.teraterm:disconnect_via_bash',
'session_stop = pyautoport.teraterm:session_stop',
Expand Down
1 change: 1 addition & 0 deletions tests/test_session.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ sleep 3
echo "[Testing saving log]"
logstart test.log
send 'pwd'
logstop
echo "### CONFIRM saving log file exists ###"
sleep 1
ls -al test.log
Expand Down

0 comments on commit b09168f

Please sign in to comment.