On Thu, Feb 20, 2025 at 09:02:14AM +0100, Philippe Mathieu-Daudé wrote:
> Introduce a helper to get the default shared library
> suffix used on the host.
> 
> Suggested-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
> Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>
> ---
>  tests/functional/qemu_test/__init__.py | 2 +-
>  tests/functional/qemu_test/cmd.py      | 1 -
>  tests/functional/qemu_test/config.py   | 6 ++++++
>  3 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/functional/qemu_test/__init__.py 
> b/tests/functional/qemu_test/__init__.py
> index 5c972843a6d..45f7befa374 100644
> --- a/tests/functional/qemu_test/__init__.py
> +++ b/tests/functional/qemu_test/__init__.py
> @@ -7,7 +7,7 @@
>  
>  
>  from .asset import Asset
> -from .config import BUILD_DIR
> +from .config import BUILD_DIR, dso_suffix
>  from .cmd import is_readable_executable_file, \
>      interrupt_interactive_console_until_pattern, wait_for_console_pattern, \
>      exec_command, exec_command_and_wait_for_pattern, get_qemu_img, which
> diff --git a/tests/functional/qemu_test/cmd.py 
> b/tests/functional/qemu_test/cmd.py
> index dc5f422b77d..254e23ef748 100644
> --- a/tests/functional/qemu_test/cmd.py
> +++ b/tests/functional/qemu_test/cmd.py
> @@ -15,7 +15,6 @@
>  import os
>  import os.path
>  
> -
>  def which(tool):
>      """ looks up the full path for @tool, returns None if not found
>          or if @tool does not have executable permissions.
> diff --git a/tests/functional/qemu_test/config.py 
> b/tests/functional/qemu_test/config.py
> index edd75b7fd06..0eab1baa541 100644
> --- a/tests/functional/qemu_test/config.py
> +++ b/tests/functional/qemu_test/config.py
> @@ -13,6 +13,7 @@
>  
>  import os
>  from pathlib import Path
> +import platform
>  
>  
>  def _source_dir():
> @@ -34,3 +35,8 @@ def _build_dir():
>      raise Exception("Cannot identify build dir, set QEMU_BUILD_ROOT")
>  
>  BUILD_DIR = _build_dir()
> +
> +def dso_suffix():
> +    '''Return the dynamic libraries suffix for the current platform'''
> +    DSO_SUFFIXES = { 'Linux': 'so', 'Darwin': 'dylib', 'Windows': 'dll' }
> +    return DSO_SUFFIXES[platform.system()]

Windows and Darwin are the two odd-ball platforms we target, Linux and
all the BSDs use .so, so it makes sense to use .so as the general
fallback, at which point I'm not sure the lookup table is worthwhile
compared to:

  if platform.system() == "Darwin"
    return "dylib"
  elif platform.system() == "Windows"
    return "dll"
  else
    return "so"

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to