On Wed, Nov 18, 2015 at 10:02:58AM +0100, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lur...@redhat.com>
> 
> vhost-user-test prints a warning. A test should not need to run on
> hugetlbfs, let's silence the warning under qtest. The
> condition can't check on qtest_enabled() since vhost-user-test actually
> doesn't use qtest accel. However, qtest_driver() can be used, if
> qtest_init() is called early enough. For that reason, move chardev and
> qtest initialization early.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>

Seems ok, and let us bring back the 2.4 test that was
dropped in 2.5, but I'd like an ack on this from someone else.

Anyone?

> ---
>  exec.c |  5 ++++-
>  vl.c   | 28 ++++++++++++++--------------
>  2 files changed, 18 insertions(+), 15 deletions(-)
> 
> diff --git a/exec.c b/exec.c
> index b09f18b..acbd4a2 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -51,6 +51,7 @@
>  #include "qemu/main-loop.h"
>  #include "translate-all.h"
>  #include "sysemu/replay.h"
> +#include "sysemu/qtest.h"
>  
>  #include "exec/memory-internal.h"
>  #include "exec/ram_addr.h"
> @@ -1196,8 +1197,10 @@ static long gethugepagesize(const char *path, Error 
> **errp)
>          return 0;
>      }
>  
> -    if (fs.f_type != HUGETLBFS_MAGIC)
> +    if (!qtest_driver() &&
> +        fs.f_type != HUGETLBFS_MAGIC) {
>          fprintf(stderr, "Warning: path not on HugeTLBFS: %s\n", path);
> +    }
>  
>      return fs.f_bsize;
>  }
> diff --git a/vl.c b/vl.c
> index 7d993a5..f9c661a 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4288,14 +4288,23 @@ int main(int argc, char **argv, char **envp)
>      page_size_init();
>      socket_init();
>  
> -    if (qemu_opts_foreach(qemu_find_opts("object"),
> -                          object_create,
> -                          object_create_initial, NULL)) {
> +    if (qemu_opts_foreach(qemu_find_opts("chardev"),
> +                          chardev_init_func, NULL, NULL)) {
>          exit(1);
>      }
>  
> -    if (qemu_opts_foreach(qemu_find_opts("chardev"),
> -                          chardev_init_func, NULL, NULL)) {
> +    if (qtest_chrdev) {
> +        Error *local_err = NULL;
> +        qtest_init(qtest_chrdev, qtest_log, &local_err);
> +        if (local_err) {
> +            error_report_err(local_err);
> +            exit(1);
> +        }
> +    }
> +
> +    if (qemu_opts_foreach(qemu_find_opts("object"),
> +                          object_create,
> +                          object_create_initial, NULL)) {
>          exit(1);
>      }
>  
> @@ -4325,15 +4334,6 @@ int main(int argc, char **argv, char **envp)
>  
>      configure_accelerator(current_machine);
>  
> -    if (qtest_chrdev) {
> -        Error *local_err = NULL;
> -        qtest_init(qtest_chrdev, qtest_log, &local_err);
> -        if (local_err) {
> -            error_report_err(local_err);
> -            exit(1);
> -        }
> -    }
> -
>      machine_opts = qemu_get_machine_opts();
>      kernel_filename = qemu_opt_get(machine_opts, "kernel");
>      initrd_filename = qemu_opt_get(machine_opts, "initrd");
> -- 
> 2.5.0

Reply via email to