qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/5] tests: Use the normal yank code instead of stubs in rele


From: Lukas Straub
Subject: Re: [PATCH 1/5] tests: Use the normal yank code instead of stubs in relevant tests
Date: Mon, 22 Mar 2021 18:48:00 +0100

On Mon, 22 Mar 2021 17:00:23 +0100
Thomas Huth <thuth@redhat.com> wrote:

> On 22/03/2021 08.35, Lukas Straub wrote:
> > On Mon, 22 Mar 2021 06:20:50 +0100
> > Thomas Huth <thuth@redhat.com> wrote:
> >   
> >> On 22/03/2021 00.31, Lukas Straub wrote:  
> >>> Use the normal yank code instead of stubs in relevant tests to
> >>> increase coverage and to ensure that registering and unregistering
> >>> of yank instances and functions is done correctly.
> >>>
> >>> Signed-off-by: Lukas Straub <lukasstraub2@web.de>
> >>> ---
> >>>    tests/qtest/meson.build | 6 +++---
> >>>    tests/unit/meson.build  | 4 ++--
> >>>    2 files changed, 5 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
> >>> index 66ee9fbf45..40e1f495f7 100644
> >>> --- a/tests/qtest/meson.build
> >>> +++ b/tests/qtest/meson.build
> >>> @@ -234,9 +234,9 @@ tpmemu_files = ['tpm-emu.c', 'tpm-util.c', 
> >>> 'tpm-tests.c']
> >>>    qtests = {
> >>>      'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 
> >>> 'tpm-emu.c'],
> >>>      'cdrom-test': files('boot-sector.c'),
> >>> -  'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1,
> >>> +  'dbus-vmstate-test': ['migration-helpers.c', dbus_vmstate1, 
> >>> '../../monitor/yank.c'],
> >>>      'ivshmem-test': [rt, 
> >>> '../../contrib/ivshmem-server/ivshmem-server.c'],
> >>> -  'migration-test': files('migration-helpers.c'),
> >>> +  'migration-test': ['migration-helpers.c', io, '../../monitor/yank.c'],
> >>>      'pxe-test': files('boot-sector.c'),
> >>>      'qos-test': [chardev, io, qos_test_ss.apply(config_host, strict: 
> >>> false).sources()],
> >>>      'tpm-crb-swtpm-test': [io, tpmemu_files],  
> >>
> >> Is this really necessary for the qtests? I can understand the change for 
> >> the
> >> unit tests, but the qtests are separate programs where I could not imagine
> >> that they use the yank functions in any way?  
> > 
> > Yes, it is necessary. While the yank functions are not called in these 
> > tests,
> > it still checks that registering and unregistering of yank instances and
> > functions is done correctly. I.e. That no yank functions are registered 
> > before
> > the instance, that the yank instance is only unregistered after all 
> > functions
> > where unregistered, that the same instance is not registered twice and that
> > the yank instance actually exists before it is unregistered.  
> 
> Now you even confused me more. Could you elaborate a little bit? If none of 
> the functions are called by the test, which part of yank.c is excercised 
> here at all? Could you give a more detailed example? The only thing I could 
> imagine is yank_init(), but that does not look like something we need to 
> check in a qtest ?

Oh, sorry. I meant yank's concept of a yank function here. It works this way:
The different subsystems first register a yank instance. So in this case
when starting migration in the test, the migration code first registers a
yank instance. Then, it registers _yank functions_ with this instance, for
for example to shutdown a socket.

Now, (in the real-world qemu case) if qemu hangs, the user can use the
'yank' qmp command to call the _yank functions_ to recover.

The test doesn't test the 'yank' qmp command, but yank_register_instance,
yank_register_function (which are called by the migration code and thus
also the migration test) still check if everything is done correctly.

Regards,
Lukas Straub

>   Thomas
> 



-- 

Attachment: pgpKeWKkL7fbg.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]