From a6c6f0f0c8880b2f3d04784eef49f85b78d0f29e Mon Sep 17 00:00:00 2001 From: Philippe Reynes Date: Fri, 24 Jul 2020 18:19:51 +0200 Subject: [PATCH] test/py: add tests for the button commands Adds tests for the button commands. Reviewed-by: Simon Glass Signed-off-by: Philippe Reynes --- arch/sandbox/dts/test.dts | 14 ++++++++++++++ test/py/tests/test_button.py | 19 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 test/py/tests/test_button.py diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index 2325ec6e69..491893a17d 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -51,6 +51,20 @@ #sound-dai-cells = <1>; }; + buttons { + compatible = "gpio-keys"; + + summer { + gpios = <&gpio_a 3 0>; + label = "summer"; + }; + + christmas { + gpios = <&gpio_a 4 0>; + label = "christmas"; + }; + }; + cros_ec: cros-ec { reg = <0 0>; compatible = "google,cros-ec-sandbox"; diff --git a/test/py/tests/test_button.py b/test/py/tests/test_button.py new file mode 100644 index 0000000000..98067a98f2 --- /dev/null +++ b/test/py/tests/test_button.py @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: GPL-2.0+ + +import pytest + +@pytest.mark.boardspec('sandbox') +@pytest.mark.buildconfigspec('cmd_button') +def test_button_exit_statuses(u_boot_console): + """Test that non-input button commands correctly return the command + success/failure status.""" + + expected_response = 'rc:0' + response = u_boot_console.run_command('button list; echo rc:$?') + assert(expected_response in response) + response = u_boot_console.run_command('button summer; echo rc:$?') + assert(expected_response in response) + + expected_response = 'rc:1' + response = u_boot_console.run_command('button nonexistent-button; echo rc:$?') + assert(expected_response in response)