new file mode 100644
@@ -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";
+ };
+ };
+};
new file mode 100644
@@ -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")
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> --- Changes in v2: - New test/py/tests/source.its | 43 ++++++++++++++++++++++++++++++++++++ test/py/tests/test_source.py | 28 +++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 test/py/tests/source.its create mode 100644 test/py/tests/test_source.py