test: work around for EFI terminal size probing

When the UEFI sub-system is initialized it sends an escape sequence to the
serial console to determine the terminal size. This stops the
run_command_list() function of the console emulation from recognizing the
U-Boot command line prompt.

Add a 'print -e' command as first command in the command list to work
around this issue.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt 2022-06-19 14:02:18 +02:00
parent a872b18a0f
commit e05bd68ed5
2 changed files with 3 additions and 0 deletions

View file

@ -117,6 +117,7 @@ class TestEfiCapsuleFirmwareFit(object):
with u_boot_console.log.section('Test Case 2-a, before reboot'): with u_boot_console.log.section('Test Case 2-a, before reboot'):
output = u_boot_console.run_command_list([ output = u_boot_console.run_command_list([
'host bind 0 %s' % disk_img, 'host bind 0 %s' % disk_img,
'printenv -e PlatformLangCodes', # workaround for terminal size determination
'efidebug boot add -b 1 TEST host 0:1 /helloworld.efi -s ""', 'efidebug boot add -b 1 TEST host 0:1 /helloworld.efi -s ""',
'efidebug boot order 1', 'efidebug boot order 1',
'env set -e -nv -bs -rt OsIndications =0x0000000000000004', 'env set -e -nv -bs -rt OsIndications =0x0000000000000004',

View file

@ -115,6 +115,7 @@ class TestEfiCapsuleFirmwareRaw:
with u_boot_console.log.section('Test Case 2-a, before reboot'): with u_boot_console.log.section('Test Case 2-a, before reboot'):
output = u_boot_console.run_command_list([ output = u_boot_console.run_command_list([
'host bind 0 %s' % disk_img, 'host bind 0 %s' % disk_img,
'printenv -e PlatformLangCodes', # workaround for terminal size determination
'efidebug boot add -b 1 TEST host 0:1 /helloworld.efi -s ""', 'efidebug boot add -b 1 TEST host 0:1 /helloworld.efi -s ""',
'efidebug boot order 1', 'efidebug boot order 1',
'env set -e OsIndications', 'env set -e OsIndications',
@ -197,6 +198,7 @@ class TestEfiCapsuleFirmwareRaw:
with u_boot_console.log.section('Test Case 3-a, before reboot'): with u_boot_console.log.section('Test Case 3-a, before reboot'):
output = u_boot_console.run_command_list([ output = u_boot_console.run_command_list([
'host bind 0 %s' % disk_img, 'host bind 0 %s' % disk_img,
'printenv -e PlatformLangCodes', # workaround for terminal size determination
'efidebug boot add -b 1 TEST host 0:1 /helloworld.efi -s ""', 'efidebug boot add -b 1 TEST host 0:1 /helloworld.efi -s ""',
'efidebug boot order 1', 'efidebug boot order 1',
'env set -e -nv -bs -rt OsIndications =0x0000000000000004', 'env set -e -nv -bs -rt OsIndications =0x0000000000000004',