diff mbox

[for-2.3,1/2] qtest: Add qtest_add_data_func() wrapper function

Message ID 1427237148-8728-2-git-send-email-afaerber@suse.de
State New
Headers show

Commit Message

Andreas Färber March 24, 2015, 10:45 p.m. UTC
It calls g_test_add_data_func() with a path supplemented by the
architecture, like qtest_add_func() does.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 tests/libqtest.c |  7 +++++++
 tests/libqtest.h | 12 ++++++++++++
 2 files changed, 19 insertions(+)

Comments

John Snow March 24, 2015, 11:04 p.m. UTC | #1
On 03/24/2015 06:45 PM, Andreas Färber wrote:
> It calls g_test_add_data_func() with a path supplemented by the
> architecture, like qtest_add_func() does.
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>   tests/libqtest.c |  7 +++++++
>   tests/libqtest.h | 12 ++++++++++++
>   2 files changed, 19 insertions(+)
>
> diff --git a/tests/libqtest.c b/tests/libqtest.c
> index 9a92aa7..e3f68d1 100644
> --- a/tests/libqtest.c
> +++ b/tests/libqtest.c
> @@ -652,6 +652,13 @@ void qtest_add_func(const char *str, void (*fn))
>       g_free(path);
>   }
>
> +void qtest_add_data_func(const char *str, void *data, void (*fn))
> +{
> +    gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str);
> +    g_test_add_data_func(path, data, fn);
> +    g_free(path);
> +}
> +
>   void qtest_memwrite(QTestState *s, uint64_t addr, const void *data, size_t size)
>   {
>       const uint8_t *ptr = data;
> diff --git a/tests/libqtest.h b/tests/libqtest.h
> index e7413d5..e363f7f 100644
> --- a/tests/libqtest.h
> +++ b/tests/libqtest.h
> @@ -345,6 +345,18 @@ const char *qtest_get_arch(void);
>   void qtest_add_func(const char *str, void (*fn));
>
>   /**
> + * qtest_add_data_func:
> + * @str: Test case path.
> + * @data: Test case data
> + * @fn: Test case function
> + *
> + * 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(const char *str, void *data, void (*fn));
> +
> +/**
>    * qtest_start:
>    * @args: other arguments to pass to QEMU
>    *
>

Reviewed-by: John Snow <jsnow@redhat.com>
diff mbox

Patch

diff --git a/tests/libqtest.c b/tests/libqtest.c
index 9a92aa7..e3f68d1 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -652,6 +652,13 @@  void qtest_add_func(const char *str, void (*fn))
     g_free(path);
 }
 
+void qtest_add_data_func(const char *str, void *data, void (*fn))
+{
+    gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str);
+    g_test_add_data_func(path, data, fn);
+    g_free(path);
+}
+
 void qtest_memwrite(QTestState *s, uint64_t addr, const void *data, size_t size)
 {
     const uint8_t *ptr = data;
diff --git a/tests/libqtest.h b/tests/libqtest.h
index e7413d5..e363f7f 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -345,6 +345,18 @@  const char *qtest_get_arch(void);
 void qtest_add_func(const char *str, void (*fn));
 
 /**
+ * qtest_add_data_func:
+ * @str: Test case path.
+ * @data: Test case data
+ * @fn: Test case function
+ *
+ * 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(const char *str, void *data, void (*fn));
+
+/**
  * qtest_start:
  * @args: other arguments to pass to QEMU
  *