Skip to content

Commit 4429aaa

Browse files
[Tests] fix memory leaks in multi numa nodes tests
Use 'EXPECT' rather than 'ASSERT', to cleanup after non fatal check. Freeing of 'ptr' is done in test suite tear down. Move other cleaning functions up in the test code. Use more specific filter for valgrind in multi numa tests.
1 parent 89c2f7a commit 4429aaa

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

test/provider_os_memory_multiple_numa_nodes.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ TEST_P(testNumaOnEachNode, checkNumaNodesAllocations) {
151151
// 'ptr' must point to an initialized value before retrieving its numa node
152152
memset(ptr, 0xFF, alloc_size);
153153
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
154-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
154+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
155155
}
156156

157157
// Test for allocations on numa nodes with mode preferred. It will be executed
@@ -176,7 +176,7 @@ TEST_P(testNumaOnEachNode, checkModePreferred) {
176176
// 'ptr' must point to an initialized value before retrieving its numa node
177177
memset(ptr, 0xFF, alloc_size);
178178
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
179-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
179+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
180180
}
181181

182182
// Test for allocation on numa node with default mode enabled.
@@ -201,7 +201,7 @@ TEST_P(testNumaOnEachNode, checkModeDefaultSetMempolicy) {
201201
// 'ptr' must point to an initialized value before retrieving its numa node
202202
memset(ptr, 0xFF, alloc_size);
203203
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
204-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
204+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
205205
}
206206

207207
// Test for allocations on a single numa node with interleave mode enabled.
@@ -228,7 +228,7 @@ TEST_P(testNumaOnEachNode, checkModeInterleaveSingleNode) {
228228
// 'ptr' must point to an initialized value before retrieving its numa node
229229
memset(ptr, 0xFF, pages_num * page_size);
230230
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
231-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
231+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
232232
}
233233

234234
// Test for allocation on numa node with mode preferred and an empty nodeset.
@@ -243,6 +243,8 @@ TEST_P(testNumaOnEachCpu, checkModePreferredEmptyNodeset) {
243243

244244
CPU_SET(cpu, mask);
245245
int ret = sched_setaffinity(0, sizeof(cpu_set_t), mask);
246+
CPU_FREE(mask);
247+
246248
UT_ASSERTeq(ret, 0);
247249

248250
umf_os_memory_provider_params_t os_memory_provider_params =
@@ -266,8 +268,7 @@ TEST_P(testNumaOnEachCpu, checkModePreferredEmptyNodeset) {
266268
// 'ptr' must point to an initialized value before retrieving its numa node
267269
memset(ptr, 0xFF, alloc_size);
268270
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
269-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
270-
CPU_FREE(mask);
271+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
271272
}
272273

273274
// Test for allocation on numa node with local mode enabled. The memory is
@@ -280,6 +281,8 @@ TEST_P(testNumaOnEachCpu, checkModeLocal) {
280281

281282
CPU_SET(cpu, mask);
282283
int ret = sched_setaffinity(0, sizeof(cpu_set_t), mask);
284+
CPU_FREE(mask);
285+
283286
UT_ASSERTeq(ret, 0);
284287

285288
umf_os_memory_provider_params_t os_memory_provider_params =
@@ -303,8 +306,7 @@ TEST_P(testNumaOnEachCpu, checkModeLocal) {
303306
// 'ptr' must point to an initialized value before retrieving its numa node
304307
memset(ptr, 0xFF, alloc_size);
305308
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
306-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
307-
CPU_FREE(mask);
309+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
308310
}
309311

310312
// Test for allocation on numa node with default mode enabled.
@@ -329,7 +331,7 @@ TEST_F(testNuma, checkModeDefault) {
329331
// 'ptr' must point to an initialized value before retrieving its numa node
330332
memset(ptr, 0xFF, alloc_size);
331333
int retrieved_numa_node_number = getNumaNodeByPtr(ptr);
332-
ASSERT_EQ(retrieved_numa_node_number, numa_node_number);
334+
EXPECT_EQ(retrieved_numa_node_number, numa_node_number);
333335
}
334336

335337
// Test for allocations on numa nodes with interleave mode enabled.
@@ -368,8 +370,9 @@ TEST_F(testNuma, checkModeInterleave) {
368370

369371
bitmask *retrieved_nodemask = retrieve_nodemask(ptr);
370372
int ret = numa_bitmask_equal(retrieved_nodemask, nodemask);
371-
ASSERT_EQ(ret, 1);
372373
numa_bitmask_free(retrieved_nodemask);
374+
375+
EXPECT_EQ(ret, 1);
373376
}
374377

375378
// Test for allocations on all numa nodes with BIND mode.
@@ -406,9 +409,9 @@ TEST_F(testNuma, checkModeBindOnAllNodes) {
406409
count++;
407410
}
408411
}
409-
ASSERT_EQ(count, 1);
412+
EXPECT_EQ(count, 1);
410413
// ... and it's the one which we expect
411-
ASSERT_EQ(retrieved_numa_node_number, read_numa_node);
414+
EXPECT_EQ(retrieved_numa_node_number, read_numa_node);
412415
}
413416

414417
// Negative tests for policies with illegal arguments.

test/test_valgrind.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ for test in $(ls -1 umf_test-*); do
9494
FILTER='--gtest_filter="-*highestCapacityVerify*"'
9595
;;
9696
umf_test-provider_os_memory_multiple_numa_nodes)
97-
FILTER='--gtest_filter="-testNumaNodesAllocations/testNumaOnEachNode*:testNumaNodesAllocationsAllCpus/testNumaOnEachCpu.checkModePreferredEmptyNodeset*:testNumaNodesAllocationsAllCpus/testNumaOnEachCpu.checkModeLocal*"'
97+
FILTER='--gtest_filter="-testNuma.checkModeInterleave:testNumaNodesAllocations/testNumaOnEachNode.checkNumaNodesAllocations*:testNumaNodesAllocations/testNumaOnEachNode.checkModePreferred*:testNumaNodesAllocations/testNumaOnEachNode.checkModeInterleaveSingleNode*:testNumaNodesAllocationsAllCpus/testNumaOnEachCpu.checkModePreferredEmptyNodeset*:testNumaNodesAllocationsAllCpus/testNumaOnEachCpu.checkModeLocal*"'
9898
;;
9999
esac
100100

0 commit comments

Comments
 (0)