[PATCH v2 1/4] test: Add test for source command

Sean Anderson sean.anderson at seco.com
Thu Oct 20 21:24:01 CEST 2022


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 at 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

diff --git a/test/py/tests/source.its b/test/py/tests/source.its
new file mode 100644
index 00000000000..3c62f777f17
--- /dev/null
+++ b/test/py/tests/source.its
@@ -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";
+        };
+    };
+};
diff --git a/test/py/tests/test_source.py b/test/py/tests/test_source.py
new file mode 100644
index 00000000000..85751ee6f76
--- /dev/null
+++ b/test/py/tests/test_source.py
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (C) 2022 Sean Anderson <sean.anderson at seco.com>
+
+import os
+import pytest
+import u_boot_utils as util
+
+ at pytest.mark.boardspec('sandbox')
+ at pytest.mark.buildconfigspec('cmd_echo')
+ at pytest.mark.buildconfigspec('cmd_source')
+ at 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")
-- 
2.35.1.1320.gc452695387.dirty



More information about the U-Boot mailing list