[PATCH] tests/functional/x86_64: Limit the memlock test to Linux hosts

Thomas Huth posted 1 patch 3 weeks, 2 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260114095904.35442-1-thuth@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Zhao Liu <zhao1.liu@intel.com>
There is a newer version of this series
tests/functional/x86_64/meson.build | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
[PATCH] tests/functional/x86_64: Limit the memlock test to Linux hosts
Posted by Thomas Huth 3 weeks, 2 days ago
From: Thomas Huth <thuth@redhat.com>

The memlock test analyzes /proc/*/status files and expects the layout
from Linux in there. However, these files also exist on NetBSD hosts
with a completely different layout, causing this test to fail. Thus
limit the test to Linux hosts now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/functional/x86_64/meson.build | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/functional/x86_64/meson.build b/tests/functional/x86_64/meson.build
index f78eec5e6cf..97286d78b8f 100644
--- a/tests/functional/x86_64/meson.build
+++ b/tests/functional/x86_64/meson.build
@@ -9,12 +9,13 @@ test_x86_64_timeouts = {
   'virtio_balloon': 120,
 }
 
-tests_x86_64_system_quick = [
+tests_x86_64_system_quick = \
+  (host_os == 'linux' ? ['memlock'] : []) + \
+[
   'bad_vmstate',
   'cpu_model_versions',
   'cpu_queries',
   'mem_addr_space',
-  'memlock',
   'migration',
   'pc_cpu_hotplug_props',
   'virtio_version',
-- 
2.52.0
Re: [PATCH] tests/functional/x86_64: Limit the memlock test to Linux hosts
Posted by Daniel P. Berrangé 3 weeks, 2 days ago
On Wed, Jan 14, 2026 at 10:59:04AM +0100, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
> 
> The memlock test analyzes /proc/*/status files and expects the layout
> from Linux in there. However, these files also exist on NetBSD hosts
> with a completely different layout, causing this test to fail. Thus
> limit the test to Linux hosts now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  tests/functional/x86_64/meson.build | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/functional/x86_64/meson.build b/tests/functional/x86_64/meson.build
> index f78eec5e6cf..97286d78b8f 100644
> --- a/tests/functional/x86_64/meson.build
> +++ b/tests/functional/x86_64/meson.build
> @@ -9,12 +9,13 @@ test_x86_64_timeouts = {
>    'virtio_balloon': 120,
>  }
>  
> -tests_x86_64_system_quick = [
> +tests_x86_64_system_quick = \
> +  (host_os == 'linux' ? ['memlock'] : []) + \

IMHO this should be done with a decorator in the test program, so
we keep all conditions in the source, not meson.

> +[
>    'bad_vmstate',
>    'cpu_model_versions',
>    'cpu_queries',
>    'mem_addr_space',
> -  'memlock',
>    'migration',
>    'pc_cpu_hotplug_props',
>    'virtio_version',
> -- 
> 2.52.0
> 
> 

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 :|
Re: [PATCH] tests/functional/x86_64: Limit the memlock test to Linux hosts
Posted by Thomas Huth 3 weeks ago
On 14/01/2026 11.01, Daniel P. Berrangé wrote:
> On Wed, Jan 14, 2026 at 10:59:04AM +0100, Thomas Huth wrote:
>> From: Thomas Huth <thuth@redhat.com>
>>
>> The memlock test analyzes /proc/*/status files and expects the layout
>> from Linux in there. However, these files also exist on NetBSD hosts
>> with a completely different layout, causing this test to fail. Thus
>> limit the test to Linux hosts now.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   tests/functional/x86_64/meson.build | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/functional/x86_64/meson.build b/tests/functional/x86_64/meson.build
>> index f78eec5e6cf..97286d78b8f 100644
>> --- a/tests/functional/x86_64/meson.build
>> +++ b/tests/functional/x86_64/meson.build
>> @@ -9,12 +9,13 @@ test_x86_64_timeouts = {
>>     'virtio_balloon': 120,
>>   }
>>   
>> -tests_x86_64_system_quick = [
>> +tests_x86_64_system_quick = \
>> +  (host_os == 'linux' ? ['memlock'] : []) + \
> 
> IMHO this should be done with a decorator in the test program, so
> we keep all conditions in the source, not meson.

If we already know here that the test will only SKIP during runtime, I think 
there is no need to add it to the test plan. Otherwise this will just always 
waste some cycles when running the tests.

  Thomas


Re: [PATCH] tests/functional/x86_64: Limit the memlock test to Linux hosts
Posted by Daniel P. Berrangé 3 weeks ago
On Fri, Jan 16, 2026 at 09:09:17AM +0100, Thomas Huth wrote:
> On 14/01/2026 11.01, Daniel P. Berrangé wrote:
> > On Wed, Jan 14, 2026 at 10:59:04AM +0100, Thomas Huth wrote:
> > > From: Thomas Huth <thuth@redhat.com>
> > > 
> > > The memlock test analyzes /proc/*/status files and expects the layout
> > > from Linux in there. However, these files also exist on NetBSD hosts
> > > with a completely different layout, causing this test to fail. Thus
> > > limit the test to Linux hosts now.
> > > 
> > > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > > ---
> > >   tests/functional/x86_64/meson.build | 5 +++--
> > >   1 file changed, 3 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/tests/functional/x86_64/meson.build b/tests/functional/x86_64/meson.build
> > > index f78eec5e6cf..97286d78b8f 100644
> > > --- a/tests/functional/x86_64/meson.build
> > > +++ b/tests/functional/x86_64/meson.build
> > > @@ -9,12 +9,13 @@ test_x86_64_timeouts = {
> > >     'virtio_balloon': 120,
> > >   }
> > > -tests_x86_64_system_quick = [
> > > +tests_x86_64_system_quick = \
> > > +  (host_os == 'linux' ? ['memlock'] : []) + \
> > 
> > IMHO this should be done with a decorator in the test program, so
> > we keep all conditions in the source, not meson.
> 
> If we already know here that the test will only SKIP during runtime, I think
> there is no need to add it to the test plan. Otherwise this will just always
> waste some cycles when running the tests.

One could say the same about many of the things we check in the @skip
decorators. The time saved by doing it in meson is negligible, and
also ensures it is skipped if anyone runs the test program directly
outside meson.

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 :|


Re: [PATCH] tests/functional/x86_64: Limit the memlock test to Linux hosts
Posted by Thomas Huth 3 weeks ago
On 16/01/2026 10.43, Daniel P. Berrangé wrote:
> On Fri, Jan 16, 2026 at 09:09:17AM +0100, Thomas Huth wrote:
>> On 14/01/2026 11.01, Daniel P. Berrangé wrote:
>>> On Wed, Jan 14, 2026 at 10:59:04AM +0100, Thomas Huth wrote:
>>>> From: Thomas Huth <thuth@redhat.com>
>>>>
>>>> The memlock test analyzes /proc/*/status files and expects the layout
>>>> from Linux in there. However, these files also exist on NetBSD hosts
>>>> with a completely different layout, causing this test to fail. Thus
>>>> limit the test to Linux hosts now.
>>>>
>>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>>> ---
>>>>    tests/functional/x86_64/meson.build | 5 +++--
>>>>    1 file changed, 3 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/tests/functional/x86_64/meson.build b/tests/functional/x86_64/meson.build
>>>> index f78eec5e6cf..97286d78b8f 100644
>>>> --- a/tests/functional/x86_64/meson.build
>>>> +++ b/tests/functional/x86_64/meson.build
>>>> @@ -9,12 +9,13 @@ test_x86_64_timeouts = {
>>>>      'virtio_balloon': 120,
>>>>    }
>>>> -tests_x86_64_system_quick = [
>>>> +tests_x86_64_system_quick = \
>>>> +  (host_os == 'linux' ? ['memlock'] : []) + \
>>>
>>> IMHO this should be done with a decorator in the test program, so
>>> we keep all conditions in the source, not meson.
>>
>> If we already know here that the test will only SKIP during runtime, I think
>> there is no need to add it to the test plan. Otherwise this will just always
>> waste some cycles when running the tests.
> 
> One could say the same about many of the things we check in the @skip
> decorators. The time saved by doing it in meson is negligible, and
> also ensures it is skipped if anyone runs the test program directly
> outside meson.

Ok, fair point, since we support running the tests without the meson test 
runner, it makes sense to check via decorator, indeed. I'll send a v2.

  Thomas