[PATCH 4/5] stats/test: Add memory leak check

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Jacob Erlbeck jerlbeck at sysmocom.de
Tue Nov 17 12:18:24 UTC 2015


Adds a rudimentary leak check for the counters and stat items.

Sponsored-by: On-Waves ehf
---
 tests/stats/stats_test.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c
index f6efd3e..75ddf18 100644
--- a/tests/stats/stats_test.c
+++ b/tests/stats/stats_test.c
@@ -296,19 +296,20 @@ static void test_reporting()
 	struct osmo_stats_reporter *srep1, *srep2, *srep;
 	struct osmo_stat_item_group *statg1, *statg2;
 	struct rate_ctr_group *ctrg1, *ctrg2;
+	void *stats_ctx = talloc_named_const(NULL, 1, "stats test context");
 
 	int rc;
 
 	printf("Start test: %s\n", __func__);
 
 	/* Allocate counters and items */
-	statg1 = osmo_stat_item_group_alloc(NULL, &statg_desc, 1);
+	statg1 = osmo_stat_item_group_alloc(stats_ctx, &statg_desc, 1);
 	OSMO_ASSERT(statg1 != NULL);
-	statg2 = osmo_stat_item_group_alloc(NULL, &statg_desc, 2);
+	statg2 = osmo_stat_item_group_alloc(stats_ctx, &statg_desc, 2);
 	OSMO_ASSERT(statg2 != NULL);
-	ctrg1 = rate_ctr_group_alloc(NULL, &ctrg_desc, 1);
+	ctrg1 = rate_ctr_group_alloc(stats_ctx, &ctrg_desc, 1);
 	OSMO_ASSERT(ctrg1 != NULL);
-	ctrg2 = rate_ctr_group_alloc(NULL, &ctrg_desc, 2);
+	ctrg2 = rate_ctr_group_alloc(stats_ctx, &ctrg_desc, 2);
 	OSMO_ASSERT(ctrg2 != NULL);
 
 	srep1 = stats_reporter_create_test("test1");
@@ -441,6 +442,10 @@ static void test_reporting()
 	osmo_stats_report();
 	OSMO_ASSERT(send_count == 0);
 
+	/* Leak check */
+	OSMO_ASSERT(talloc_total_blocks(stats_ctx) == 1);
+	talloc_free(stats_ctx);
+
 	printf("End test: %s\n", __func__);
 }
 
-- 
1.9.1




More information about the OpenBSC mailing list