test_pinmux.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # SPDX-License-Identifier: GPL-2.0
  2. import pytest
  3. import u_boot_utils
  4. @pytest.mark.buildconfigspec('cmd_pinmux')
  5. def test_pinmux_usage_1(u_boot_console):
  6. """Test that 'pinmux' command without parameters displays
  7. pinmux usage."""
  8. output = u_boot_console.run_command('pinmux')
  9. assert 'Usage:' in output
  10. @pytest.mark.buildconfigspec('cmd_pinmux')
  11. def test_pinmux_usage_2(u_boot_console):
  12. """Test that 'pinmux status' executed without previous "pinmux dev"
  13. command displays pinmux usage."""
  14. output = u_boot_console.run_command('pinmux status')
  15. assert 'Usage:' in output
  16. @pytest.mark.buildconfigspec('cmd_pinmux')
  17. @pytest.mark.boardspec('sandbox')
  18. def test_pinmux_status_all(u_boot_console):
  19. """Test that 'pinmux status -a' displays pin's muxing."""
  20. output = u_boot_console.run_command('pinmux status -a')
  21. assert ('SCL : I2C SCL' in output)
  22. assert ('SDA : I2C SDA' in output)
  23. assert ('TX : Uart TX' in output)
  24. assert ('RX : Uart RX' in output)
  25. assert ('W1 : 1-wire gpio' in output)
  26. @pytest.mark.buildconfigspec('cmd_pinmux')
  27. @pytest.mark.boardspec('sandbox')
  28. def test_pinmux_list(u_boot_console):
  29. """Test that 'pinmux list' returns the pin-controller list."""
  30. output = u_boot_console.run_command('pinmux list')
  31. assert 'sandbox_pinctrl' in output
  32. @pytest.mark.buildconfigspec('cmd_pinmux')
  33. def test_pinmux_dev_bad(u_boot_console):
  34. """Test that 'pinmux dev' returns an error when trying to select a
  35. wrong pin controller."""
  36. pincontroller = 'bad_pin_controller_name'
  37. output = u_boot_console.run_command('pinmux dev ' + pincontroller)
  38. expected_output = 'Can\'t get the pin-controller: ' + pincontroller + '!'
  39. assert (expected_output in output)
  40. @pytest.mark.buildconfigspec('cmd_pinmux')
  41. @pytest.mark.boardspec('sandbox')
  42. def test_pinmux_dev(u_boot_console):
  43. """Test that 'pinmux dev' select the wanted pin controller."""
  44. pincontroller = 'pinctrl'
  45. output = u_boot_console.run_command('pinmux dev ' + pincontroller)
  46. expected_output = 'dev: ' + pincontroller
  47. assert (expected_output in output)
  48. @pytest.mark.buildconfigspec('cmd_pinmux')
  49. @pytest.mark.boardspec('sandbox')
  50. def test_pinmux_status(u_boot_console):
  51. """Test that 'pinmux status' displays selected pincontroller's pin
  52. muxing descriptions."""
  53. output = u_boot_console.run_command('pinmux status')
  54. assert ('SCL : I2C SCL' in output)
  55. assert ('SDA : I2C SDA' in output)
  56. assert ('TX : Uart TX' in output)
  57. assert ('RX : Uart RX' in output)
  58. assert ('W1 : 1-wire gpio' in output)