From: Andreas Färber <afaerber@suse.de>
Date: Tue, 24 Mar 2015 18:33:34 +0000 (+0100)
Subject: qtest: Add qtest_add_data_func() wrapper function
X-Git-Tag: v2.3.0-rc2~10^2~2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7949c0e;p=users%2Fdwmw2%2Fqemu.git

qtest: Add qtest_add_data_func() wrapper function

It calls g_test_add_data_func() with a path supplemented by the
architecture, like qtest_add_func() does.

Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---

diff --git a/tests/libqtest.c b/tests/libqtest.c
index 9a92aa70e4..12d65bd1e6 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, const 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 e7413d52dc..9281f5c134 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -344,6 +344,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, const void *data, void (*fn));
+
 /**
  * qtest_start:
  * @args: other arguments to pass to QEMU