test: Add test for source command
This adds a basic test for FIT image handling by the source command. It's a python test becase we need to run mkimage. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
b5fd7b4a31
commit
895999261c
43
test/py/tests/source.its
Normal file
43
test/py/tests/source.its
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
/ {
|
||||||
|
description = "FIT image to test the source command";
|
||||||
|
#address-cells = <1>;
|
||||||
|
|
||||||
|
images {
|
||||||
|
default = "script-1";
|
||||||
|
|
||||||
|
script-1 {
|
||||||
|
data = "echo 1";
|
||||||
|
type = "script";
|
||||||
|
arch = "sandbox";
|
||||||
|
compression = "none";
|
||||||
|
};
|
||||||
|
|
||||||
|
script-2 {
|
||||||
|
data = "echo 2";
|
||||||
|
type = "script";
|
||||||
|
arch = "sandbox";
|
||||||
|
compression = "none";
|
||||||
|
};
|
||||||
|
|
||||||
|
not-a-script {
|
||||||
|
data = "echo 3";
|
||||||
|
type = "kernel";
|
||||||
|
arch = "sandbox";
|
||||||
|
compression = "none";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
default = "conf-2";
|
||||||
|
|
||||||
|
conf-1 {
|
||||||
|
script = "script-1";
|
||||||
|
};
|
||||||
|
|
||||||
|
conf-2 {
|
||||||
|
script = "script-2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
28
test/py/tests/test_source.py
Normal file
28
test/py/tests/test_source.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
# Copyright (C) 2022 Sean Anderson <sean.anderson@seco.com>
|
||||||
|
|
||||||
|
import os
|
||||||
|
import pytest
|
||||||
|
import u_boot_utils as util
|
||||||
|
|
||||||
|
@pytest.mark.boardspec('sandbox')
|
||||||
|
@pytest.mark.buildconfigspec('cmd_echo')
|
||||||
|
@pytest.mark.buildconfigspec('cmd_source')
|
||||||
|
@pytest.mark.buildconfigspec('fit')
|
||||||
|
def test_source(u_boot_console):
|
||||||
|
# Compile our test script image
|
||||||
|
cons = u_boot_console
|
||||||
|
mkimage = os.path.join(cons.config.build_dir, 'tools/mkimage')
|
||||||
|
its = os.path.join(cons.config.source_dir, 'test/py/tests/source.its')
|
||||||
|
fit = os.path.join(cons.config.build_dir, 'source.itb')
|
||||||
|
util.run_and_log(cons, (mkimage, '-f', its, fit))
|
||||||
|
cons.run_command(f'host load hostfs - $loadaddr {fit}')
|
||||||
|
|
||||||
|
assert '1' in cons.run_command('source')
|
||||||
|
assert '1' in cons.run_command('source :script-1')
|
||||||
|
assert '2' in cons.run_command('source :script-2')
|
||||||
|
assert 'Fail' in cons.run_command('source :not-a-script || echo Fail')
|
||||||
|
|
||||||
|
cons.run_command('fdt addr $loadaddr')
|
||||||
|
cons.run_command('fdt rm /images default')
|
||||||
|
assert 'Fail' in cons.run_command('source || echo Fail')
|
Loading…
Reference in New Issue
Block a user