1# Copyright (c) 2017, Heinrich Schuchardt <xypron.glpk@gmx.de> 2# 3# SPDX-License-Identifier: GPL-2.0 4 5# Test efi API implementation 6 7import pytest 8import u_boot_utils 9 10@pytest.mark.buildconfigspec('cmd_bootefi_selftest') 11def test_efi_selftest(u_boot_console): 12 """ 13 Run bootefi selftest 14 """ 15 16 u_boot_console.run_command(cmd='setenv efi_selftest') 17 u_boot_console.run_command(cmd='bootefi selftest', wait_for_prompt=False) 18 m = u_boot_console.p.expect(['Summary: 0 failures', 'Press any key']) 19 if m != 0: 20 raise Exception('Failures occured during the EFI selftest') 21 u_boot_console.run_command(cmd='', wait_for_echo=False, wait_for_prompt=False); 22 m = u_boot_console.p.expect(['resetting', 'U-Boot']) 23 if m != 0: 24 raise Exception('Reset failed during the EFI selftest') 25 u_boot_console.restart_uboot(); 26 27@pytest.mark.buildconfigspec('cmd_bootefi_selftest') 28def test_efi_selftest_watchdog_reboot(u_boot_console): 29 u_boot_console.run_command(cmd='setenv efi_selftest list') 30 output = u_boot_console.run_command('bootefi selftest') 31 assert '\'watchdog reboot\'' in output 32 u_boot_console.run_command(cmd='setenv efi_selftest watchdog reboot') 33 u_boot_console.run_command(cmd='bootefi selftest', wait_for_prompt=False) 34 m = u_boot_console.p.expect(['resetting', 'U-Boot']) 35 if m != 0: 36 raise Exception('Reset failed in \'watchdog reboot\' test') 37 u_boot_console.restart_uboot(); 38