[PATCH 1/2] test/py: Add a way to start sandbox without a device tree

Simon Glass sjg at chromium.org
Wed Apr 27 21:47:56 CEST 2022


This is useful sometimes when running a specific test. Add support for it
in the existing restart_uboot_with_flags() function.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 test/py/u_boot_console_sandbox.py | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/test/py/u_boot_console_sandbox.py b/test/py/u_boot_console_sandbox.py
index ce4ca7e55ef..b79ec817957 100644
--- a/test/py/u_boot_console_sandbox.py
+++ b/test/py/u_boot_console_sandbox.py
@@ -27,6 +27,7 @@ class ConsoleSandbox(ConsoleBase):
 
         super(ConsoleSandbox, self).__init__(log, config, max_fifo_fill=1024)
         self.sandbox_flags = []
+        self.use_dtb = True
 
     def get_spawn(self):
         """Connect to a fresh U-Boot instance.
@@ -48,16 +49,13 @@ class ConsoleSandbox(ConsoleBase):
         cmd = []
         if self.config.gdbserver:
             cmd += ['gdbserver', self.config.gdbserver]
-        cmd += [
-            self.config.build_dir + fname,
-            '-v',
-            '-d',
-            self.config.dtb
-        ]
+        cmd += [self.config.build_dir + fname, '-v']
+        if self.use_dtb:
+            cmd += ['-d', self.config.dtb]
         cmd += self.sandbox_flags
         return Spawn(cmd, cwd=self.config.source_dir)
 
-    def restart_uboot_with_flags(self, flags, expect_reset=False):
+    def restart_uboot_with_flags(self, flags, expect_reset=False, use_dtb=True):
         """Run U-Boot with the given command-line flags
 
         Args:
@@ -65,6 +63,7 @@ class ConsoleSandbox(ConsoleBase):
             expect_reset: Boolean indication whether this boot is expected
                 to be reset while the 1st boot process after main boot before
                 prompt. False by default.
+            use_dtb: True to use a device tree file, False to run without one
 
         Returns:
             A u_boot_spawn.Spawn object that is attached to U-Boot.
@@ -72,9 +71,11 @@ class ConsoleSandbox(ConsoleBase):
 
         try:
             self.sandbox_flags = flags
+            self.use_dtb = use_dtb
             return self.restart_uboot(expect_reset)
         finally:
             self.sandbox_flags = []
+            self.use_dtb = True
 
     def kill(self, sig):
         """Send a specific Unix signal to the sandbox process.
-- 
2.36.0.464.gb9c8b46e94-goog



More information about the U-Boot mailing list