1# SPDX-License-Identifier: GPL-2.0+ 2# Copyright (c) 2016, Google Inc. 3# 4# U-Boot Verified Boot Test 5 6""" 7This tests U-Boot logging. It uses the 'log test' command with various options 8and checks that the output is correct. 9""" 10 11import pytest 12 13@pytest.mark.buildconfigspec('cmd_log') 14def test_log_format(u_boot_console): 15 """Test the 'log format' and 'log rec' commands""" 16 def run_with_format(fmt, expected_output): 17 """Set up the log format and then write a log record 18 19 Args: 20 fmt: Format to use for 'log format' 21 expected_output: Expected output from the 'log rec' command 22 """ 23 output = cons.run_command('log format %s' % fmt) 24 assert output == '' 25 output = cons.run_command('log rec arch notice file.c 123 func msg') 26 assert output == expected_output 27 28 cons = u_boot_console 29 with cons.log.section('format'): 30 run_with_format('all', 'NOTICE.arch,file.c:123-func() msg') 31 output = cons.run_command('log format') 32 assert output == 'Log format: clFLfm' 33 34 run_with_format('fm', 'func() msg') 35 run_with_format('clfm', 'NOTICE.arch,func() msg') 36 run_with_format('FLfm', 'file.c:123-func() msg') 37 run_with_format('lm', 'NOTICE. msg') 38 run_with_format('m', 'msg') 39 40@pytest.mark.buildconfigspec('debug_uart') 41@pytest.mark.boardspec('sandbox') 42def test_log_dropped(u_boot_console): 43 """Test dropped 'log' message when debug_uart is activated""" 44 45 cons = u_boot_console 46 cons.restart_uboot() 47 output = cons.get_spawn_output().replace('\r', '') 48 assert 'sandbox: starting...' in output 49 assert (not 'debug: main' in output) 50