blob: f0437aa15ca98b208b42a91cecab45c568e2abd5 [file] [log] [blame]
Sean Andersond41db1a2022-12-12 14:12:08 -05001# SPDX-License-Identifier: GPL-2.0+
2# Copyright (C) 2022 Sean Anderson <sean.anderson@seco.com>
3
4import os
5import pytest
Simon Glassdb0e4532025-02-09 09:07:16 -07006import utils
Sean Andersond41db1a2022-12-12 14:12:08 -05007
8@pytest.mark.boardspec('sandbox')
9@pytest.mark.buildconfigspec('cmd_echo')
10@pytest.mark.buildconfigspec('cmd_source')
11@pytest.mark.buildconfigspec('fit')
Simon Glassddba5202025-02-09 09:07:14 -070012def test_source(ubman):
Sean Andersond41db1a2022-12-12 14:12:08 -050013 # Compile our test script image
Simon Glassddba5202025-02-09 09:07:14 -070014 cons = ubman
Sean Andersond41db1a2022-12-12 14:12:08 -050015 mkimage = os.path.join(cons.config.build_dir, 'tools/mkimage')
16 its = os.path.join(cons.config.source_dir, 'test/py/tests/source.its')
17 fit = os.path.join(cons.config.build_dir, 'source.itb')
Simon Glassdb0e4532025-02-09 09:07:16 -070018 utils.run_and_log(cons, (mkimage, '-f', its, fit))
Sean Andersond41db1a2022-12-12 14:12:08 -050019 cons.run_command(f'host load hostfs - $loadaddr {fit}')
20
Sean Andersond3e7e202022-12-12 14:12:11 -050021 assert '2' in cons.run_command('source')
22 assert '1' in cons.run_command('source :')
Sean Andersond41db1a2022-12-12 14:12:08 -050023 assert '1' in cons.run_command('source :script-1')
24 assert '2' in cons.run_command('source :script-2')
25 assert 'Fail' in cons.run_command('source :not-a-script || echo Fail')
Sean Andersond3e7e202022-12-12 14:12:11 -050026 assert '2' in cons.run_command('source \\#')
27 assert '1' in cons.run_command('source \\#conf-1')
28 assert '2' in cons.run_command('source \\#conf-2')
Sean Andersond41db1a2022-12-12 14:12:08 -050029
30 cons.run_command('fdt addr $loadaddr')
Sean Andersond3e7e202022-12-12 14:12:11 -050031 cons.run_command('fdt rm /configurations default')
32 assert '1' in cons.run_command('source')
33 assert 'Fail' in cons.run_command('source \\# || echo Fail')
34
Sean Andersond41db1a2022-12-12 14:12:08 -050035 cons.run_command('fdt rm /images default')
36 assert 'Fail' in cons.run_command('source || echo Fail')
Sean Andersond3e7e202022-12-12 14:12:11 -050037 assert 'Fail' in cons.run_command('source \\# || echo Fail')