diff options
author | Thomas Haller <thaller@redhat.com> | 2022-12-20 17:50:09 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-01-17 16:26:51 +0100 |
commit | f1874e67901fef0054b73afc9de3d7935bae99ce (patch) | |
tree | b29746bd6534f62af0db494787a17fec55f24f38 | |
parent | 43860e2b7402eef076c4ecd4153244f34576c3cf (diff) | |
download | NetworkManager-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.h | 6 |
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, ...) \ |