Skip to content

Commit f536ba4

Browse files
nordic-krchnordicjm
authored andcommitted
[nrf fromtree] tests: boards: nrf: dmm: Extend test coverage
Extended test to check usage stats and longer buffer alloc. Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 3d31042)
1 parent 49b49b3 commit f536ba4

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

tests/boards/nrf/dmm/src/main.c

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,52 @@ ZTEST_USER_F(dmm, test_check_dev_nocache_out_preallocate)
337337
user_data, sizeof(user_data), true, false, true);
338338
}
339339

340+
ZTEST_USER_F(dmm, test_check_multiple_alloc_and_free)
341+
{
342+
int retval;
343+
uint8_t buf[256];
344+
uint8_t buf2[32];
345+
void *dmm_buf;
346+
void *dmm_buf2;
347+
void *mem_reg = fixture->regions[DMM_TEST_REGION_NOCACHE].mem_reg;
348+
uintptr_t start_address;
349+
uint32_t curr_use, max_use;
350+
351+
if (IS_ENABLED(CONFIG_DMM_STATS)) {
352+
retval = dmm_stats_get(mem_reg, &start_address, &curr_use, &max_use);
353+
zassert_ok(retval);
354+
}
355+
356+
memset(buf, 0, sizeof(buf));
357+
memset(buf2, 0, sizeof(buf2));
358+
359+
retval = dmm_buffer_out_prepare(mem_reg, (void *)buf, sizeof(buf), &dmm_buf);
360+
zassert_ok(retval);
361+
zassert_true(dmm_buf != NULL);
362+
363+
retval = dmm_buffer_out_prepare(mem_reg, (void *)buf2, sizeof(buf2), &dmm_buf2);
364+
zassert_ok(retval);
365+
zassert_true(dmm_buf2 != NULL);
366+
367+
retval = dmm_buffer_out_release(mem_reg, dmm_buf2);
368+
zassert_ok(retval);
369+
zassert_true(dmm_buf != NULL);
370+
371+
retval = dmm_buffer_out_release(mem_reg, dmm_buf);
372+
zassert_ok(retval);
373+
zassert_true(dmm_buf != NULL);
374+
375+
if (IS_ENABLED(CONFIG_DMM_STATS)) {
376+
uint32_t curr_use2;
377+
378+
retval = dmm_stats_get(mem_reg, &start_address, &curr_use2, &max_use);
379+
zassert_ok(retval);
380+
zassert_equal(curr_use, curr_use2);
381+
TC_PRINT("Stats start_address:%p current use:%d%% max use:%d%%\n",
382+
(void *)start_address, curr_use2, max_use);
383+
}
384+
}
385+
340386
ZTEST_SUITE(dmm, NULL, test_setup, NULL, test_cleanup, NULL);
341387

342388
int dmm_test_prepare(void)

tests/boards/nrf/dmm/testcase.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,8 @@ tests:
1616
- CONFIG_DCACHE=n
1717
platform_allow:
1818
- nrf54h20dk/nrf54h20/cpuapp
19+
boards.nrf.dmm.stats:
20+
extra_configs:
21+
- CONFIG_DMM_STATS=y
22+
platform_allow:
23+
- nrf54h20dk/nrf54h20/cpuapp

0 commit comments

Comments
 (0)