[PATCH 2/9] tlsf: use bselftest for testing ffs/fls
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue Oct 4 08:54:00 PDT 2022
The driver has two instances of #ifdef _DEBUG, but when the symbol is
actually defined, we get a build error because of the old-style C
function definition. Fix this and while at it, turn it into a
bselftest.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
common/tlsf.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/common/tlsf.c b/common/tlsf.c
index 3ca58e3abbfb..8dbb41077cad 100644
--- a/common/tlsf.c
+++ b/common/tlsf.c
@@ -1,14 +1,19 @@
// SPDX-License-Identifier: GPL-2.0-only
+#define pr_fmt(fmt) "tlsf: " fmt
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <tlsf.h>
+#include <bselftest.h>
#include "tlsfbits.h"
#include <linux/kasan.h>
#define CHAR_BIT 8
+BSELFTEST_GLOBALS();
+
#ifndef CONFIG_KASAN
#define __memcpy memcpy
#endif
@@ -870,11 +875,13 @@ void tlsf_remove_pool(tlsf_t tlsf, pool_t pool)
** TLSF main interface.
*/
-#ifdef _DEBUG
-int test_ffs_fls()
+static int test_tlfs_ffs_fls(void)
{
- /* Verify ffs/fls work properly. */
int rv = 0;
+
+ total_tests = 8;
+
+ /* Verify ffs/fls work properly. */
rv += (tlsf_ffs(0) == -1) ? 0 : 0x1;
rv += (tlsf_fls(0) == -1) ? 0 : 0x2;
rv += (tlsf_ffs(1) == 0) ? 0 : 0x4;
@@ -885,28 +892,21 @@ int test_ffs_fls()
rv += (tlsf_fls(0x7FFFFFFF) == 30) ? 0 : 0x80;
#if defined (TLSF_64BIT)
+ total_tests += 3;
rv += (tlsf_fls_sizet(0x80000000) == 31) ? 0 : 0x100;
rv += (tlsf_fls_sizet(0x100000000) == 32) ? 0 : 0x200;
rv += (tlsf_fls_sizet(0xffffffffffffffff) == 63) ? 0 : 0x400;
+#else
+ skipped_tests += 3;
#endif
- if (rv)
- {
- printf("test_ffs_fls: %x ffs/fls tests failed.\n", rv);
- }
- return rv;
+ failed_tests = rv;
+ return 0;
}
-#endif
+bselftest(core, test_tlfs_ffs_fls);
tlsf_t tlsf_create(void* mem)
{
-#ifdef _DEBUG
- if (test_ffs_fls())
- {
- return 0;
- }
-#endif
-
if (((tlsfptr_t)mem % ALIGN_SIZE) != 0)
{
printf("tlsf_create: Memory must be aligned to %u bytes.\n",
--
2.30.2
More information about the barebox
mailing list