Re: [PATCH 1/4] tests: Fix Python test environment setup in meson.build
From: David Gibson
Date: Fri Oct 23 2026 - 01:04:59 EST
On Thu, Oct 15, 2026 at 11:21:34AM -0700, Douglas Anderson wrote:
> Commit ecb21febfdd3 ("meson: port python bindings to build natively via
> meson and meson-python") moved the generated `libfdt.py` and `_libfdt`
> extension module into `<build_root>/pylibfdt`, leaving
> `<source_root>/pylibfdt` with only the source files.
>
> `tests/meson.build` was still setting `PYTHONPATH` to
> `meson.project_source_root() / 'pylibfdt'`, which only went unnoticed
> because `tests/pylibfdt_tests.py` manually inserts `../pylibfdt` into
> `sys.path`. It also checked `if not py.found()` instead of
> `if not pylibfdt_enabled` when setting `NO_PYTHON`.
>
> Update `tests/meson.build` to check `pylibfdt_enabled` and set
> `PYTHONPATH` to `meson.project_build_root() / 'pylibfdt'` so Python
> tools invoked by `run_tests.sh` can import `libfdt` directly.
>
> Assisted-by: Gemini:gemini-pro-prerelease
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
This looks like a good fix, independent of the rest of the series: I
already applied it.
> ---
>
> tests/meson.build | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/meson.build b/tests/meson.build
> index c6ac2d7f8ec4..c25500606059 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -114,12 +114,12 @@ endforeach
> run_tests = find_program('run_tests.sh')
>
> env = []
> -if not py.found()
> +if not pylibfdt_enabled
> env += 'NO_PYTHON=1'
> else
> env += [
> 'PYTHON=' + py.full_path(),
> - 'PYTHONPATH=' + meson.project_source_root() / 'pylibfdt',
> + 'PYTHONPATH=' + meson.project_build_root() / 'pylibfdt',
> 'NO_PYTHON=0',
> ]
> endif
> --
> 2.56.0.176.g3575e65682-goog
>
>
--
David Gibson (he or they) | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you, not the other way
| around.
http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature