diff mbox series

[v2,1/2] arm/lib: pass the PATH to fvp runner

Message ID 20230406152908.224075-1-peron.clem@gmail.com
State New
Headers show
Series [v2,1/2] arm/lib: pass the PATH to fvp runner | expand

Commit Message

Clément Péron April 6, 2023, 3:29 p.m. UTC
When running an FVP machine the model executable need to be found
in the PATH environement.

At the moment the script doesn't provide any PATH to the subprocess.

Add PATH to the allowed environement variable to be forwaded.

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 meta-arm/lib/fvp/runner.py                 | 2 +-
 meta-arm/lib/oeqa/selftest/cases/runfvp.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Clément Péron April 8, 2023, 8:13 a.m. UTC | #1
Hi,

On Thu, 6 Apr 2023 at 17:29, Clément Péron via lists.yoctoproject.org
<peron.clem=gmail.com@lists.yoctoproject.org> wrote:
>
> We access the dictionnary element that doesn't exist.
>
> Use the get() method instead that will default the element to None if it
> doesn't exist.
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  scripts/runfvp | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/runfvp b/scripts/runfvp
> index 939352b5..bfd60d71 100755
> --- a/scripts/runfvp
> +++ b/scripts/runfvp
> @@ -55,8 +55,9 @@ def start_fvp(args, config, extra_args):
>          fvp.start(config, extra_args, args.terminals)
>
>          if args.console:
> -            expected_terminal = config["consoles"]["default"]
> -            if not expected_terminal:
> +            fvp.add_line_callback(lambda line: logger.debug(f"FVP output: {line}"))

Not sure where this line comes from, surely badly introduced during
the rebase :/

I have sent a v3

Clement

> +            expected_terminal = config["consoles"].get("default")
> +            if expected_terminal is None:
>                  logger.error("--console used but FVP_CONSOLE not set in machine configuration")
>                  return 1
>              port_stdout, log_stdout = itertools.tee(fvp.stdout, 2)
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#4561): https://lists.yoctoproject.org/g/meta-arm/message/4561
> Mute This Topic: https://lists.yoctoproject.org/mt/98107299/4240582
> Group Owner: meta-arm+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [peron.clem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Jon Mason May 25, 2023, 12:51 a.m. UTC | #2
On Thu, 6 Apr 2023 17:29:07 +0200, Clément Péron wrote:
> When running an FVP machine the model executable need to be found
> in the PATH environement.
> 
> At the moment the script doesn't provide any PATH to the subprocess.
> 
> Add PATH to the allowed environement variable to be forwaded.

Applied, thanks!

[1/2] arm/lib: pass the PATH to fvp runner
      commit: fa598021fb387e98bdb80861f245cc15acde4ca5
[2/2] scripts/runfvp: Fix KeyError exception when there is no FVP_CONSOLE provided
      commit: 316e02c0f13b473e916cd779e59f0d55d48e4962

Best regards,
diff mbox series

Patch

diff --git a/meta-arm/lib/fvp/runner.py b/meta-arm/lib/fvp/runner.py
index c52cdc1c..d957e780 100644
--- a/meta-arm/lib/fvp/runner.py
+++ b/meta-arm/lib/fvp/runner.py
@@ -91,7 +91,7 @@  class FVPRunner:
         # Pass through environment variables needed for GUI applications, such
         # as xterm, to work.
         env = config['env']
-        for name in ('DISPLAY', 'WAYLAND_DISPLAY', 'XAUTHORITY'):
+        for name in ('DISPLAY', 'PATH', 'WAYLAND_DISPLAY', 'XAUTHORITY'):
             if name in os.environ:
                 env[name] = os.environ[name]
 
diff --git a/meta-arm/lib/oeqa/selftest/cases/runfvp.py b/meta-arm/lib/oeqa/selftest/cases/runfvp.py
index 5cc8660f..7e0d7808 100644
--- a/meta-arm/lib/oeqa/selftest/cases/runfvp.py
+++ b/meta-arm/lib/oeqa/selftest/cases/runfvp.py
@@ -108,7 +108,7 @@  class RunnerTests(OESelftestTestCase):
                 stderr=unittest.mock.ANY,
                 env={"FOO":"BAR"})
 
-    @unittest.mock.patch.dict(os.environ, {"DISPLAY": ":42", "WAYLAND_DISPLAY": "wayland-42"})
+    @unittest.mock.patch.dict(os.environ, {"DISPLAY": ":42", "WAYLAND_DISPLAY": "wayland-42", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"})
     def test_env_passthrough(self):
         from fvp import runner
         with self.create_mock() as m:
@@ -128,4 +128,4 @@  class RunnerTests(OESelftestTestCase):
                 stdin=unittest.mock.ANY,
                 stdout=unittest.mock.ANY,
                 stderr=unittest.mock.ANY,
-                env={"DISPLAY":":42", "FOO": "BAR", "WAYLAND_DISPLAY": "wayland-42"})
+                env={"DISPLAY":":42", "FOO": "BAR", "WAYLAND_DISPLAY": "wayland-42", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"})