summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2022-12-20 17:50:09 +0100
committerThomas Haller <thaller@redhat.com>2023-01-17 16:26:51 +0100
commitf1874e67901fef0054b73afc9de3d7935bae99ce (patch)
treeb29746bd6534f62af0db494787a17fec55f24f38
parent43860e2b7402eef076c4ecd4153244f34576c3cf (diff)
downloadNetworkManager-f1874e67901fef0054b73afc9de3d7935bae99ce.tar.gz
glib-aux/tests: avoid valgrind leak with nmtst_add_test_func()
When only running a subset of the tests (with "-p"), then valgrind indicates a leak. Avoid that. $ ./tools/run-nm-test.sh -m src/core/platform/tests/test-route-linux -v # no leak $ ./tools/run-nm-test.sh -m src/core/platform/tests/test-route-linux -v -p /route/ip4 # many leaks: ==1662102== 107 (96 direct, 11 indirect) bytes in 1 blocks are definitely lost in loss record 388 of 448 ==1662102== at 0x4848464: calloc (vg_replace_malloc.c:1340) ==1662102== by 0x4F615F0: g_malloc0 (gmem.c:163) ==1662102== by 0x1621A6: _nmtst_add_test_func_full (nm-test-utils.h:918) ==1662102== by 0x1623EB: _nmtstp_setup_tests (test-route.c:2179) ==1662102== by 0x16E53D: main (test-common.c:2693) ==1662102== { <insert_a_suppression_name_here> Memcheck:Leak match-leak-kinds: definite fun:calloc fun:g_malloc0 fun:_nmtst_add_test_func_full fun:_nmtstp_setup_tests fun:main }
-rw-r--r--src/libnm-glib-aux/nm-test-utils.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libnm-glib-aux/nm-test-utils.h b/src/libnm-glib-aux/nm-test-utils.h
index 9299b39fa4..5196c9a076 100644
--- a/src/libnm-glib-aux/nm-test-utils.h
+++ b/src/libnm-glib-aux/nm-test-utils.h
@@ -957,7 +957,11 @@ _nmtst_add_test_func_full(const char *testpath,
memcpy((char *) data->testpath, testpath, testpath_len);
- g_test_add_data_func_full(testpath, data, _nmtst_test_run, g_free);
+ _nmtst_testdata_track_add(data, g_free);
+ g_test_add_data_func_full(testpath,
+ data,
+ _nmtst_test_run,
+ _nmtst_testdata_track_steal_and_free);
}
#define nmtst_add_test_func_full(testpath, func_test, func_setup, func_teardown, ...) \