From 45b0f830dd1817277eeb97032ce64b3103fe0b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 25 Mar 2015 16:52:45 +0100 Subject: qtest: Add qtest_add() wrapper macro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It extends g_test_add() macro with the architecture path. Reviewed-by: John Snow Signed-off-by: Andreas Färber --- tests/libqtest.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/libqtest.h b/tests/libqtest.h index 9281f5c134..03469b8781 100644 --- a/tests/libqtest.h +++ b/tests/libqtest.h @@ -356,6 +356,26 @@ void qtest_add_func(const char *str, void (*fn)); */ void qtest_add_data_func(const char *str, const void *data, void (*fn)); +/** + * qtest_add: + * @testpath: Test case path + * @Fixture: Fixture type + * @tdata: Test case data + * @fsetup: Test case setup function + * @ftest: Test case function + * @fteardown: Test case teardown function + * + * Add a GTester testcase with the given name, data and functions. + * The path is prefixed with the architecture under test, as + * returned by qtest_get_arch(). + */ +#define qtest_add(testpath, Fixture, tdata, fsetup, ftest, fteardown) \ + do { \ + char *path = g_strdup_printf("/%s/%s", qtest_get_arch(), testpath); \ + g_test_add(path, Fixture, tdata, fsetup, ftest, fteardown); \ + g_free(path); \ + } while (0) + /** * qtest_start: * @args: other arguments to pass to QEMU -- cgit v1.2.3