a6bfd71a96
To make the button command useful in a shell script it should return the status of the button: * 0 (true) - pressed, on * 1 (false) - not pressed, off The button command takes only one argument. Correct maxargs. Adjust the Python unit test. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
import pytest
|
|
|
|
@pytest.mark.boardspec('sandbox')
|
|
@pytest.mark.buildconfigspec('cmd_button')
|
|
def test_button_list(u_boot_console):
|
|
"""Test listing buttons"""
|
|
|
|
response = u_boot_console.run_command('button list; echo rc:$?')
|
|
assert('button1' in response)
|
|
assert('button2' in response)
|
|
assert('rc:0' in response)
|
|
|
|
@pytest.mark.boardspec('sandbox')
|
|
@pytest.mark.buildconfigspec('cmd_button')
|
|
@pytest.mark.buildconfigspec('cmd_gpio')
|
|
def test_button_return_code(u_boot_console):
|
|
"""Test correct reporting of the button status
|
|
|
|
The sandbox gpio driver reports the last output value as input value.
|
|
We can use this in our test to emulate different input statuses.
|
|
"""
|
|
|
|
u_boot_console.run_command('gpio set a3; gpio input a3');
|
|
response = u_boot_console.run_command('button button1; echo rc:$?')
|
|
assert('on' in response)
|
|
assert('rc:0' in response)
|
|
|
|
u_boot_console.run_command('gpio clear a3; gpio input a3');
|
|
response = u_boot_console.run_command('button button1; echo rc:$?')
|
|
assert('off' in response)
|
|
assert('rc:1' in response)
|
|
|
|
response = u_boot_console.run_command('button nonexistent-button; echo rc:$?')
|
|
assert('not found' in response)
|
|
assert('rc:1' in response)
|