Skip to content

Commit 69ac4b2

Browse files
finikorgnashif
authored andcommitted
edac: ibecc: Refactor error inject code
Refactor code removing duplicated parts. Signed-off-by: Andrei Emeltchenko <[email protected]>
1 parent c493825 commit 69ac4b2

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

tests/subsys/edac/ibecc/src/ibecc.c

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -256,48 +256,38 @@ static int check_values(void *p1, void *p2, void *p3)
256256
return 0;
257257
}
258258

259-
static void test_ibecc_error_inject_test_cor(void)
259+
static void ibecc_error_inject_test(uint64_t addr, uint64_t mask, uint64_t type)
260260
{
261261
int ret;
262262

263263
ret = edac_notify_callback_set(dev, callback);
264264
zassert_equal(ret, 0, "Error setting notification callback");
265265

266266
/* Test injecting correctable error at address TEST_ADDRESS1 */
267-
test_inject(TEST_ADDRESS1, TEST_ADDRESS_MASK, EDAC_ERROR_TYPE_DRAM_COR);
267+
test_inject(addr, mask, type);
268268

269269
#if defined(CONFIG_USERSPACE)
270270
k_thread_user_mode_enter((k_thread_entry_t)check_values,
271-
(void *)TEST_ADDRESS1,
272-
(void *)EDAC_ERROR_TYPE_DRAM_COR,
271+
(void *)addr,
272+
(void *)type,
273273
NULL);
274274
#else
275-
check_values((void *)TEST_ADDRESS1, (void *)EDAC_ERROR_TYPE_DRAM_COR,
276-
NULL);
275+
check_values((void *)addr, (void *)type, NULL);
277276
#endif
278277
}
279278

280-
static void test_ibecc_error_inject_test_uc(void)
279+
static void test_ibecc_error_inject_test_cor(void)
281280
{
282-
int ret;
283-
284-
ret = edac_notify_callback_set(dev, callback);
285-
zassert_equal(ret, 0, "Error setting notification callback");
286-
287-
/* Test injecting uncorrectable error at address TEST_ADDRESS2 */
288-
test_inject(TEST_ADDRESS2, TEST_ADDRESS_MASK, EDAC_ERROR_TYPE_DRAM_UC);
281+
ibecc_error_inject_test(TEST_ADDRESS1, TEST_ADDRESS_MASK,
282+
EDAC_ERROR_TYPE_DRAM_COR);
283+
}
289284

290-
#if defined(CONFIG_USERSPACE)
291-
k_thread_user_mode_enter((k_thread_entry_t)check_values,
292-
(void *)TEST_ADDRESS2,
293-
(void *)EDAC_ERROR_TYPE_DRAM_UC,
294-
NULL);
295-
#else
296-
check_values((void *)TEST_ADDRESS2, (void *)EDAC_ERROR_TYPE_DRAM_UC,
297-
NULL);
298-
#endif
285+
static void test_ibecc_error_inject_test_uc(void)
286+
{
287+
ibecc_error_inject_test(TEST_ADDRESS2, TEST_ADDRESS_MASK,
288+
EDAC_ERROR_TYPE_DRAM_UC);
299289
}
300-
#else
290+
#else /* CONFIG_EDAC_ERROR_INJECT */
301291
static void test_ibecc_error_inject_test_cor(void)
302292
{
303293
ztest_test_skip();

0 commit comments

Comments
 (0)