u-boot/test/py/tests/test_button.py
Simon Glass 752c376987 test/py: Shorten u_boot_console
This fixture name is quite long and results in lots of verbose code.
We know this is U-Boot so the 'u_boot_' part is not necessary.

But it is also a bit of a misnomer, since it provides access to all the
information available to tests. It is not just the console.

It would be too confusing to use con as it would be confused with
config and it is probably too short.

So shorten it to 'ubman'.

Signed-off-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/CAFLszTgPa4aT_J9h9pqeTtLCVn4x2JvLWRcWRD8NaN3uoSAtyA@mail.gmail.com/
2025-03-15 10:38:38 +00:00

37 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(ubman):
"""Test listing buttons"""
response = ubman.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(ubman):
"""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.
"""
ubman.run_command('gpio set a3; gpio input a3');
response = ubman.run_command('button button1; echo rc:$?')
assert('on' in response)
assert('rc:0' in response)
ubman.run_command('gpio clear a3; gpio input a3');
response = ubman.run_command('button button1; echo rc:$?')
assert('off' in response)
assert('rc:1' in response)
response = ubman.run_command('button nonexistent-button; echo rc:$?')
assert('not found' in response)
assert('rc:1' in response)