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:
Sean Anderson 2022-12-12 14:12:08 -05:00 committed by Tom Rini
parent b5fd7b4a31
commit 895999261c
2 changed files with 71 additions and 0 deletions

43
test/py/tests/source.its Normal file
View 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";
};
};
};

View 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')