qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH for-2.7 v3 32/36] tests: add qtest_add_data_func


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH for-2.7 v3 32/36] tests: add qtest_add_data_func_full
Date: Thu, 04 Aug 2016 16:54:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

address@hidden writes:

> From: Marc-André Lureau <address@hidden>
>
> Allows one to specify a destroy function for the test data.
>
> Signed-off-by: Marc-André Lureau <address@hidden>
> ---
>  tests/libqtest.c | 15 +++++++++++++++
>  tests/libqtest.h |  7 ++++++-
>  2 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/tests/libqtest.c b/tests/libqtest.c
> index eb00f13..9e2d0cd 100644
> --- a/tests/libqtest.c
> +++ b/tests/libqtest.c
> @@ -758,6 +758,21 @@ void qtest_add_func(const char *str, void (*fn)(void))
>      g_free(path);
>  }
>  
> +void qtest_add_data_func_full(const char *str, void *data,
> +                              void (*fn)(const void *),
> +                              GDestroyNotify data_free_func)
> +{
> +    gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str);
> +#if GLIB_CHECK_VERSION(2, 34, 0)
> +    g_test_add_data_func_full(path, data, fn, data_free_func);
> +#else
> +    /* back-compat casts, remove this once we can require new-enough glib */
> +    g_test_add_vtable(path, 0, data, NULL,
> +                      (GTestFixtureFunc) fn, (GTestFixtureFunc) 
> data_free_func);

Umm, are these function casts kosher?

I can't find documentation for g_test_add_vtable().  Got a pointer for
me?  Sure GLib 2.22 provides it?

> +#endif
> +    g_free(path);
> +}
> +
>  void qtest_add_data_func(const char *str, const void *data,
>                           void (*fn)(const void *))
>  {
> diff --git a/tests/libqtest.h b/tests/libqtest.h
> index 37f37ad..e4c9c39 100644
> --- a/tests/libqtest.h
> +++ b/tests/libqtest.h
> @@ -413,15 +413,20 @@ const char *qtest_get_arch(void);
>  void qtest_add_func(const char *str, void (*fn)(void));
>  
>  /**
> - * qtest_add_data_func:
> + * qtest_add_data_func_full:
>   * @str: Test case path.
>   * @data: Test case data
>   * @fn: Test case function
> + * @data_free_func: GDestroyNotify for data
>   *
>   * Add a GTester testcase with the given name, data and function.
>   * The path is prefixed with the architecture under test, as
>   * returned by qtest_get_arch().
>   */
> +void qtest_add_data_func_full(const char *str, void *data,
> +                              void (*fn)(const void *),
> +                              GDestroyNotify data_free_func);
> +
>  void qtest_add_data_func(const char *str, const void *data,
>                           void (*fn)(const void *));

Please keep qtest_add_data_func() documented.



reply via email to

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