4
4
5
5
#include " base.hpp"
6
6
#include " numa_helpers.h"
7
+ #include " test_helpers.h"
7
8
8
9
#include < numa.h>
9
10
#include < numaif.h>
10
11
#include < sched.h>
11
12
12
- #include " test_helpers.h"
13
13
#include < umf/providers/provider_os_memory.h>
14
14
15
15
static umf_os_memory_provider_params_t UMF_OS_MEMORY_PROVIDER_PARAMS_TEST =
@@ -138,7 +138,6 @@ TEST_P(testNumaOnEachNode, checkNumaNodesAllocations) {
138
138
UMF_OS_MEMORY_PROVIDER_PARAMS_TEST;
139
139
140
140
os_memory_provider_params.numa_list = &numa_node_number;
141
- numa_bitmask_setbit (nodemask, numa_node_number);
142
141
os_memory_provider_params.numa_list_len = 1 ;
143
142
os_memory_provider_params.numa_mode = UMF_NUMA_MODE_BIND;
144
143
initOsProvider (os_memory_provider_params);
@@ -152,7 +151,7 @@ TEST_P(testNumaOnEachNode, checkNumaNodesAllocations) {
152
151
// 'ptr' must point to an initialized value before retrieving its numa node
153
152
memset (ptr, 0xFF , alloc_size);
154
153
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
155
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
154
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
156
155
}
157
156
158
157
// Test for allocations on numa nodes with mode preferred. It will be executed
@@ -177,7 +176,7 @@ TEST_P(testNumaOnEachNode, checkModePreferred) {
177
176
// 'ptr' must point to an initialized value before retrieving its numa node
178
177
memset (ptr, 0xFF , alloc_size);
179
178
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
180
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
179
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
181
180
}
182
181
183
182
// Test for allocation on numa node with default mode enabled.
@@ -202,7 +201,7 @@ TEST_P(testNumaOnEachNode, checkModeDefaultSetMempolicy) {
202
201
// 'ptr' must point to an initialized value before retrieving its numa node
203
202
memset (ptr, 0xFF , alloc_size);
204
203
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
205
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
204
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
206
205
}
207
206
208
207
// Test for allocations on a single numa node with interleave mode enabled.
@@ -216,7 +215,6 @@ TEST_P(testNumaOnEachNode, checkModeInterleaveSingleNode) {
216
215
UMF_OS_MEMORY_PROVIDER_PARAMS_TEST;
217
216
218
217
os_memory_provider_params.numa_list = &numa_node_number;
219
- numa_bitmask_setbit (nodemask, numa_node_number);
220
218
os_memory_provider_params.numa_list_len = 1 ;
221
219
os_memory_provider_params.numa_mode = UMF_NUMA_MODE_INTERLEAVE;
222
220
initOsProvider (os_memory_provider_params);
@@ -230,7 +228,7 @@ TEST_P(testNumaOnEachNode, checkModeInterleaveSingleNode) {
230
228
// 'ptr' must point to an initialized value before retrieving its numa node
231
229
memset (ptr, 0xFF , pages_num * page_size);
232
230
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
233
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
231
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
234
232
}
235
233
236
234
// Test for allocation on numa node with mode preferred and an empty nodeset.
@@ -245,6 +243,8 @@ TEST_P(testNumaOnEachCpu, checkModePreferredEmptyNodeset) {
245
243
246
244
CPU_SET (cpu, mask);
247
245
int ret = sched_setaffinity (0 , sizeof (cpu_set_t ), mask);
246
+ CPU_FREE (mask);
247
+
248
248
UT_ASSERTeq (ret, 0 );
249
249
250
250
umf_os_memory_provider_params_t os_memory_provider_params =
@@ -268,8 +268,7 @@ TEST_P(testNumaOnEachCpu, checkModePreferredEmptyNodeset) {
268
268
// 'ptr' must point to an initialized value before retrieving its numa node
269
269
memset (ptr, 0xFF , alloc_size);
270
270
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
271
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
272
- CPU_FREE (mask);
271
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
273
272
}
274
273
275
274
// Test for allocation on numa node with local mode enabled. The memory is
@@ -282,6 +281,8 @@ TEST_P(testNumaOnEachCpu, checkModeLocal) {
282
281
283
282
CPU_SET (cpu, mask);
284
283
int ret = sched_setaffinity (0 , sizeof (cpu_set_t ), mask);
284
+ CPU_FREE (mask);
285
+
285
286
UT_ASSERTeq (ret, 0 );
286
287
287
288
umf_os_memory_provider_params_t os_memory_provider_params =
@@ -305,8 +306,7 @@ TEST_P(testNumaOnEachCpu, checkModeLocal) {
305
306
// 'ptr' must point to an initialized value before retrieving its numa node
306
307
memset (ptr, 0xFF , alloc_size);
307
308
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
308
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
309
- CPU_FREE (mask);
309
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
310
310
}
311
311
312
312
// Test for allocation on numa node with default mode enabled.
@@ -331,11 +331,11 @@ TEST_F(testNuma, checkModeDefault) {
331
331
// 'ptr' must point to an initialized value before retrieving its numa node
332
332
memset (ptr, 0xFF , alloc_size);
333
333
int retrieved_numa_node_number = getNumaNodeByPtr (ptr);
334
- ASSERT_EQ (retrieved_numa_node_number, numa_node_number);
334
+ EXPECT_EQ (retrieved_numa_node_number, numa_node_number);
335
335
}
336
336
337
337
// Test for allocations on numa nodes with interleave mode enabled.
338
- // The page allocations are interleaved across the set of nodes specified in nodemask .
338
+ // The page allocations are interleaved across the set of all available nodes .
339
339
TEST_F (testNuma, checkModeInterleave) {
340
340
constexpr int pages_num = 1024 ;
341
341
size_t page_size = sysconf (_SC_PAGE_SIZE);
@@ -370,8 +370,9 @@ TEST_F(testNuma, checkModeInterleave) {
370
370
371
371
bitmask *retrieved_nodemask = retrieve_nodemask (ptr);
372
372
int ret = numa_bitmask_equal (retrieved_nodemask, nodemask);
373
- ASSERT_EQ (ret, 1 );
374
373
numa_bitmask_free (retrieved_nodemask);
374
+
375
+ EXPECT_EQ (ret, 1 );
375
376
}
376
377
377
378
// Test for allocations on all numa nodes with BIND mode.
@@ -408,9 +409,9 @@ TEST_F(testNuma, checkModeBindOnAllNodes) {
408
409
count++;
409
410
}
410
411
}
411
- ASSERT_EQ (count, 1 );
412
+ EXPECT_EQ (count, 1 );
412
413
// ... and it's the one which we expect
413
- ASSERT_EQ (retrieved_numa_node_number, read_numa_node);
414
+ EXPECT_EQ (retrieved_numa_node_number, read_numa_node);
414
415
}
415
416
416
417
// Negative tests for policies with illegal arguments.
0 commit comments