qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] tests: Ensure TAP version is printed before other messages


From: Daniel P . Berrangé
Subject: Re: [PATCH] tests: Ensure TAP version is printed before other messages
Date: Mon, 27 Feb 2023 17:44:30 +0000
User-agent: Mutt/2.2.9 (2022-11-12)

On Mon, Feb 27, 2023 at 05:40:19PM +0000, Richard W.M. Jones wrote:
> These two tests were failing with this error:
> 
>   stderr:
>   TAP parsing error: version number must be on the first line
>   [...]
>   Unknown TAP version. The first line MUST be `TAP version <int>`. Assuming 
> version 12.
> 
> This can be fixed by ensuring we always call g_test_init first in the
> body of main.
> 
> Thanks: Daniel Berrange, for diagnosing the problem
> Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
> ---
>  tests/qtest/fuzz-lsi53c895a-test.c | 4 ++--
>  tests/qtest/rtl8139-test.c         | 5 +++--
>  2 files changed, 5 insertions(+), 4 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


> 
> diff --git a/tests/qtest/fuzz-lsi53c895a-test.c 
> b/tests/qtest/fuzz-lsi53c895a-test.c
> index a9254b455d..2012bd54b7 100644
> --- a/tests/qtest/fuzz-lsi53c895a-test.c
> +++ b/tests/qtest/fuzz-lsi53c895a-test.c
> @@ -112,12 +112,12 @@ static void test_lsi_do_dma_empty_queue(void)
>  
>  int main(int argc, char **argv)
>  {
> +    g_test_init(&argc, &argv, NULL);
> +
>      if (!qtest_has_device("lsi53c895a")) {
>          return 0;
[>      }
>  
> -    g_test_init(&argc, &argv, NULL);
> -
>      qtest_add_func("fuzz/lsi53c895a/lsi_do_dma_empty_queue",
>                     test_lsi_do_dma_empty_queue);
>  
> diff --git a/tests/qtest/rtl8139-test.c b/tests/qtest/rtl8139-test.c
> index 1beb83805c..4bd240e9ee 100644
> --- a/tests/qtest/rtl8139-test.c
> +++ b/tests/qtest/rtl8139-test.c
> @@ -207,9 +207,10 @@ int main(int argc, char **argv)
>          verbosity_level = atoi(v_env);
>      }
>  
> -    qtest_start("-device rtl8139");
> -
>      g_test_init(&argc, &argv, NULL);
> +
> +    qtest_start("-device rtl8139");

As a more general point I find it a little dubious that we spawn
QEMU from main() outside the context of the test case. I guess
that makes it slightly more efficient since we have one QEMU for
both test cases, but it is feels slightly oddball and obviously
leads to bugs like this one we see.

> +
>      qtest_add_func("/rtl8139/nop", nop);
>      qtest_add_func("/rtl8139/timer", test_init);
>  
> -- 
> 2.39.2
> 

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

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