test_source.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # SPDX-License-Identifier: GPL-2.0+
  2. # Copyright (C) 2022 Sean Anderson <sean.anderson@seco.com>
  3. import os
  4. import pytest
  5. import u_boot_utils as util
  6. @pytest.mark.boardspec('sandbox')
  7. @pytest.mark.buildconfigspec('cmd_echo')
  8. @pytest.mark.buildconfigspec('cmd_source')
  9. @pytest.mark.buildconfigspec('fit')
  10. def test_source(u_boot_console):
  11. # Compile our test script image
  12. cons = u_boot_console
  13. mkimage = os.path.join(cons.config.build_dir, 'tools/mkimage')
  14. its = os.path.join(cons.config.source_dir, 'test/py/tests/source.its')
  15. fit = os.path.join(cons.config.build_dir, 'source.itb')
  16. util.run_and_log(cons, (mkimage, '-f', its, fit))
  17. cons.run_command(f'host load hostfs - $loadaddr {fit}')
  18. assert '2' in cons.run_command('source')
  19. assert '1' in cons.run_command('source :')
  20. assert '1' in cons.run_command('source :script-1')
  21. assert '2' in cons.run_command('source :script-2')
  22. assert 'Fail' in cons.run_command('source :not-a-script || echo Fail')
  23. assert '2' in cons.run_command('source \\#')
  24. assert '1' in cons.run_command('source \\#conf-1')
  25. assert '2' in cons.run_command('source \\#conf-2')
  26. cons.run_command('fdt addr $loadaddr')
  27. cons.run_command('fdt rm /configurations default')
  28. assert '1' in cons.run_command('source')
  29. assert 'Fail' in cons.run_command('source \\# || echo Fail')
  30. cons.run_command('fdt rm /images default')
  31. assert 'Fail' in cons.run_command('source || echo Fail')
  32. assert 'Fail' in cons.run_command('source \\# || echo Fail')