mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-20 00:22:02 -06:00
tests/functional: Allow running TCG plugins tests on non-Linux/BSD hosts
Not all platforms use the '.so' suffix for shared libraries, which is how plugins are built. Use the recently introduced dso_suffix() helper to get the proper host suffix. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2804 Suggested-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Suggested-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20250220080215.49165-4-philmd@linaro.org> [AJB: moved plugin_file into testcase.py] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-11-alex.bennee@linaro.org>
This commit is contained in:
parent
3a7b9054b8
commit
ed557cc544
2 changed files with 14 additions and 3 deletions
|
@ -27,7 +27,7 @@ from qemu.utils import kvm_available, tcg_available
|
||||||
|
|
||||||
from .archive import archive_extract
|
from .archive import archive_extract
|
||||||
from .asset import Asset
|
from .asset import Asset
|
||||||
from .config import BUILD_DIR
|
from .config import BUILD_DIR, dso_suffix
|
||||||
from .uncompress import uncompress
|
from .uncompress import uncompress
|
||||||
|
|
||||||
|
|
||||||
|
@ -183,6 +183,16 @@ class QemuBaseTest(unittest.TestCase):
|
||||||
def log_file(self, *args):
|
def log_file(self, *args):
|
||||||
return str(Path(self.outputdir, *args))
|
return str(Path(self.outputdir, *args))
|
||||||
|
|
||||||
|
'''
|
||||||
|
@params plugin name
|
||||||
|
|
||||||
|
Return the full path to the plugin taking into account any host OS
|
||||||
|
specific suffixes.
|
||||||
|
'''
|
||||||
|
def plugin_file(self, plugin_name):
|
||||||
|
sfx = dso_suffix()
|
||||||
|
return os.path.join('tests', 'tcg', 'plugins', f'{plugin_name}.{sfx}')
|
||||||
|
|
||||||
def assets_available(self):
|
def assets_available(self):
|
||||||
for name, asset in vars(self.__class__).items():
|
for name, asset in vars(self.__class__).items():
|
||||||
if name.startswith("ASSET_") and type(asset) == Asset:
|
if name.startswith("ASSET_") and type(asset) == Asset:
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import mmap
|
import mmap
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from qemu.machine.machine import VMLaunchFailure
|
from qemu.machine.machine import VMLaunchFailure
|
||||||
|
@ -74,7 +75,7 @@ class PluginKernelNormal(PluginKernelBase):
|
||||||
suffix=".log")
|
suffix=".log")
|
||||||
|
|
||||||
self.run_vm(kernel_path, kernel_command_line,
|
self.run_vm(kernel_path, kernel_command_line,
|
||||||
"tests/tcg/plugins/libinsn.so", plugin_log.name,
|
self.plugin_file('libinsn'), plugin_log.name,
|
||||||
console_pattern)
|
console_pattern)
|
||||||
|
|
||||||
with plugin_log as lf, \
|
with plugin_log as lf, \
|
||||||
|
@ -100,7 +101,7 @@ class PluginKernelNormal(PluginKernelBase):
|
||||||
suffix=".log")
|
suffix=".log")
|
||||||
|
|
||||||
self.run_vm(kernel_path, kernel_command_line,
|
self.run_vm(kernel_path, kernel_command_line,
|
||||||
"tests/tcg/plugins/libinsn.so", plugin_log.name,
|
self.plugin_file('libinsn'), plugin_log.name,
|
||||||
console_pattern,
|
console_pattern,
|
||||||
args=('-icount', 'shift=1'))
|
args=('-icount', 'shift=1'))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue