Re: [PATCH v2 10/15] tests/qtest: Use qtest_add_data_func_full()

2024-07-01 Thread Thomas Huth

On 27/06/2024 15.37, Akihiko Odaki wrote:

A test function may not be executed depending on the test command line
so it is wrong to free data with a test function. Use
qtest_add_data_func_full() to register a function to free data.

Signed-off-by: Akihiko Odaki 
---
  tests/qtest/device-introspect-test.c | 7 +++
  1 file changed, 3 insertions(+), 4 deletions(-)


Reviewed-by: Thomas Huth 




[PATCH v2 10/15] tests/qtest: Use qtest_add_data_func_full()

2024-06-27 Thread Akihiko Odaki
A test function may not be executed depending on the test command line
so it is wrong to free data with a test function. Use
qtest_add_data_func_full() to register a function to free data.

Signed-off-by: Akihiko Odaki 
---
 tests/qtest/device-introspect-test.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/tests/qtest/device-introspect-test.c 
b/tests/qtest/device-introspect-test.c
index 5b0ffe43f5f4..587da59623dc 100644
--- a/tests/qtest/device-introspect-test.c
+++ b/tests/qtest/device-introspect-test.c
@@ -266,7 +266,6 @@ static void test_device_intro_concrete(const void *args)
 
 qobject_unref(types);
 qtest_quit(qts);
-g_free((void *)args);
 }
 
 static void test_abstract_interfaces(void)
@@ -310,12 +309,12 @@ static void add_machine_test_case(const char *mname)
 
 path = g_strdup_printf("device/introspect/concrete/defaults/%s", mname);
 args = g_strdup_printf("-M %s", mname);
-qtest_add_data_func(path, args, test_device_intro_concrete);
+qtest_add_data_func_full(path, args, test_device_intro_concrete, g_free);
 g_free(path);
 
 path = g_strdup_printf("device/introspect/concrete/nodefaults/%s", mname);
 args = g_strdup_printf("-nodefaults -M %s", mname);
-qtest_add_data_func(path, args, test_device_intro_concrete);
+qtest_add_data_func_full(path, args, test_device_intro_concrete, g_free);
 g_free(path);
 }
 
@@ -330,7 +329,7 @@ int main(int argc, char **argv)
 qtest_add_func("device/introspect/abstract-interfaces", 
test_abstract_interfaces);
 if (g_test_quick()) {
 qtest_add_data_func("device/introspect/concrete/defaults/none",
-g_strdup(common_args), test_device_intro_concrete);
+common_args, test_device_intro_concrete);
 } else {
 qtest_cb_for_every_machine(add_machine_test_case, true);
 }

-- 
2.45.2