[PATCH 7/7] test: py: strategy: drop no longer needed labgrid workarounds

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Aug 13 00:02:01 PDT 2024


We were monkey patching in support for following two Labgrid pull
requests:

  - #1166 ("config: return passed in tool by default")
  - #1212 ("qemudriver: export get_qemu_base_args method")

Both are now part of the newest v24.0 release, so let's drop our
workaround and require that at least Labgrid v24.0 is used.

[1]: https://github.com/labgrid-project/labgrid/commit/69fd553c69
[2]: https://github.com/labgrid-project/labgrid/commit/318e7788ce

Cc: Rouven Czerwinski <r.czerwinski at pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
v1 -> v2:
  - new patch
---
 test/strategy.py | 53 ++++++++----------------------------------------
 1 file changed, 8 insertions(+), 45 deletions(-)

diff --git a/test/strategy.py b/test/strategy.py
index 8aa58151f6b8..4063b8ff818b 100644
--- a/test/strategy.py
+++ b/test/strategy.py
@@ -6,9 +6,16 @@ import subprocess
 import os
 import shutil
 import sys
+import re
 
 from labgrid import target_factory, step, driver
 from labgrid.strategy import Strategy, StrategyError
+from labgrid.util import labgrid_version
+
+match = re.match(r'^(\d+?)\.', labgrid_version())
+if match is None or int(match.group(1)) < 24:
+    pytest.exit(f"Labgrid has version v{labgrid_version()}, "
+                f"but barebox test suite requires at least v24.")
 
 class Status(enum.Enum):
     unknown = 0
@@ -34,7 +41,6 @@ class BareboxTestStrategy(Strategy):
         super().__attrs_post_init__()
         if isinstance(self.console, driver.QEMUDriver):
             self.qemu = self.console
-        self.patchtools()
 
     @step(args=['status'])
     def transition(self, status, *, step):
@@ -67,7 +73,7 @@ class BareboxTestStrategy(Strategy):
         self.transition(Status.off)  # pylint: disable=missing-kwoa
 
         if state == "qemu_dry_run" or state == "qemu_interactive":
-            cmd = self.get_qemu_base_args()
+            cmd = self.qemu.get_qemu_base_args()
 
             cmd.append("-serial")
             cmd.append("mon:stdio")
@@ -84,44 +90,6 @@ class BareboxTestStrategy(Strategy):
         else:
             pytest.exit('Can only force to: qemu_dry_run, qemu_interactive')
 
-    def get_qemu_base_args(self):
-        if self.qemu is None:
-            pytest.exit('interactive mode only supported with QEMUDriver')
-
-        try:
-            # https://github.com/labgrid-project/labgrid/pull/1212
-            cmd = self.qemu.get_qemu_base_args()
-        except AttributeError:
-            self.qemu.on_activate()
-            orig = self.qemu._cmd
-            cmd = []
-
-            list_iter = enumerate(orig)
-            for i, opt in list_iter:
-                if opt == "-S":
-                    continue
-                opt2 = double_opt(opt, orig, i)
-                if (opt2.startswith("-chardev socket,id=serialsocket") or
-                   opt2 == "-serial chardev:serialsocket" or
-                   opt2 == "-qmp stdio"):
-                    # skip over two elements at once
-                    next(list_iter, None)
-                    continue
-
-                cmd.append(opt)
-
-        return cmd
-
-    def patchtools(self):
-        # https://github.com/labgrid-project/labgrid/commit/69fd553c6969526b609d0be6bb81f0c35f08d1d0
-        if self.qemu is None:
-            return
-
-        if 'tools' not in self.target.env.config.data:
-            self.target.env.config.data['tools'] = {}
-        self.target.env.config.data["tools"][self.qemu.qemu_bin] = \
-                shutil.which(self.qemu.qemu_bin)
-
     def append_qemu_args(self, *args):
         if self.qemu is None:
             pytest.exit('Qemu option supplied for non-Qemu target')
@@ -131,8 +99,3 @@ class BareboxTestStrategy(Strategy):
 def quote_cmd(cmd):
     quoted = map(lambda s : s if s.find(" ") == -1 else "'" + s + "'", cmd)
     return " ".join(quoted)
-
-def double_opt(opt, orig, i):
-    if opt == orig[-1]:
-        return opt
-    return " ".join([opt, orig[i + 1]])
-- 
2.39.2




More information about the barebox mailing list