mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-26 09:38:14 +00:00 
			
		
		
		
	In the bootmenu unit test the console timeout is set to 500 ms. Other tests rely on the original timeout. Ensure that the original value is restored. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
		
			
				
	
	
		
			47 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0+
 | |
| 
 | |
| """Test bootmenu"""
 | |
| 
 | |
| import pytest
 | |
| 
 | |
| @pytest.mark.buildconfigspec('cmd_bootmenu')
 | |
| def test_bootmenu(u_boot_console):
 | |
|     """Test bootmenu
 | |
| 
 | |
|     u_boot_console -- U-Boot console
 | |
|     """
 | |
| 
 | |
|     with u_boot_console.temporary_timeout(500):
 | |
|         u_boot_console.run_command('setenv bootmenu_default 1')
 | |
|         u_boot_console.run_command('setenv bootmenu_0 test 1=echo ok 1')
 | |
|         u_boot_console.run_command('setenv bootmenu_1 test 2=echo ok 2')
 | |
|         u_boot_console.run_command('setenv bootmenu_2 test 3=echo ok 3')
 | |
|         u_boot_console.run_command('bootmenu 2', wait_for_prompt=False)
 | |
|         for i in ('U-Boot Boot Menu', 'test 1', 'test 2', 'test 3', 'autoboot'):
 | |
|             u_boot_console.p.expect([i])
 | |
|         # Press enter key to execute default entry
 | |
|         response = u_boot_console.run_command(cmd='\x0d', wait_for_echo=False, send_nl=False)
 | |
|         assert 'ok 2' in response
 | |
|         u_boot_console.run_command('bootmenu 2', wait_for_prompt=False)
 | |
|         u_boot_console.p.expect(['autoboot'])
 | |
|         # Press up key to select prior entry followed by the enter key
 | |
|         response = u_boot_console.run_command(cmd='\x1b\x5b\x41\x0d', wait_for_echo=False,
 | |
|                                               send_nl=False)
 | |
|         assert 'ok 1' in response
 | |
|         u_boot_console.run_command('bootmenu 2', wait_for_prompt=False)
 | |
|         u_boot_console.p.expect(['autoboot'])
 | |
|         # Press down key to select next entry followed by the enter key
 | |
|         response = u_boot_console.run_command(cmd='\x1b\x5b\x42\x0d', wait_for_echo=False,
 | |
|                                               send_nl=False)
 | |
|         assert 'ok 3' in response
 | |
|         u_boot_console.run_command('bootmenu 2; echo rc:$?', wait_for_prompt=False)
 | |
|         u_boot_console.p.expect(['autoboot'])
 | |
|         # Press the escape key
 | |
|         response = u_boot_console.run_command(cmd='\x1b', wait_for_echo=False, send_nl=False)
 | |
|         assert 'ok' not in response
 | |
|         assert 'rc:0' in response
 | |
|         u_boot_console.run_command('setenv bootmenu_default')
 | |
|         u_boot_console.run_command('setenv bootmenu_0')
 | |
|         u_boot_console.run_command('setenv bootmenu_1')
 | |
|         u_boot_console.run_command('setenv bootmenu_2')
 |