This is an automated email from the ASF dual-hosted git repository.

janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit 05d803436cef15b0f553711915df05dcd757c6b8
Author: Michal Gorecki <[email protected]>
AuthorDate: Fri Jul 14 11:17:52 2023 +0200

    Adapt unit tests to 64-bit architecture
    
    This allows to run unit tests on 64-bit architecture.
    This also modifies some mbuf tests, so the test pool buf size
    is no longer hardcoded.
---
 fs/nffs/selftest/src/nffs_test_debug.c             |  4 +-
 kernel/os/selftest/src/mbuf_test.c                 |  6 +--
 kernel/os/selftest/src/mbuf_test.h                 |  6 +--
 .../os/selftest/src/testcases/ob_mbuf_test_adj.c   | 36 +++++++++-----
 .../selftest/src/testcases/ob_mbuf_test_pullup.c   | 13 +++--
 .../selftest/src/testcases/os_mbuf_test_extend.c   | 56 ++++++++++++++--------
 .../src/testcases/os_mbuf_test_pack_chains.c       |  3 --
 7 files changed, 71 insertions(+), 53 deletions(-)

diff --git a/fs/nffs/selftest/src/nffs_test_debug.c 
b/fs/nffs/selftest/src/nffs_test_debug.c
index 2e2965d09..148397d26 100644
--- a/fs/nffs/selftest/src/nffs_test_debug.c
+++ b/fs/nffs/selftest/src/nffs_test_debug.c
@@ -368,12 +368,12 @@ print_nffs_hash_block(struct nffs_hash_entry *he, int 
verbose)
         if (db.ndb_inode_id != NFFS_ID_NONE) {
             nb.nb_inode_entry = nffs_hash_find_inode(db.ndb_inode_id);
         } else {
-            nb.nb_inode_entry = (void*)db.ndb_inode_id;
+            nb.nb_inode_entry = (void *)(uintptr_t)db.ndb_inode_id;
         }
         if (db.ndb_prev_id != NFFS_ID_NONE) {
             nb.nb_prev = nffs_hash_find_block(db.ndb_prev_id);
         } else {
-            nb.nb_prev = (void*)db.ndb_prev_id;
+            nb.nb_prev = (void *)(uintptr_t)db.ndb_prev_id;
         }
         nb.nb_data_len = db.ndb_data_len;
     }
diff --git a/kernel/os/selftest/src/mbuf_test.c 
b/kernel/os/selftest/src/mbuf_test.c
index ad5bfecff..1ca42e76b 100644
--- a/kernel/os/selftest/src/mbuf_test.c
+++ b/kernel/os/selftest/src/mbuf_test.c
@@ -22,11 +22,7 @@
 #include "testutil/testutil.h"
 #include "os_test_priv.h"
 
-/*
- * NOTE: currently, the buffer size cannot be changed as some tests are
- * hard-coded for this size.
- */
-#define MBUF_TEST_POOL_BUF_SIZE     (256)
+#define MBUF_TEST_POOL_BUF_SIZE     (320)
 #define MBUF_TEST_POOL_BUF_COUNT    (10)
 
 #define MBUF_TEST_DATA_LEN          (1024)
diff --git a/kernel/os/selftest/src/mbuf_test.h 
b/kernel/os/selftest/src/mbuf_test.h
index a050a61e8..f693f13fd 100644
--- a/kernel/os/selftest/src/mbuf_test.h
+++ b/kernel/os/selftest/src/mbuf_test.h
@@ -28,11 +28,7 @@
 extern "C" {
 #endif
 
-/* 
- * NOTE: currently, the buffer size cannot be changed as some tests are
- * hard-coded for this size.
- */
-#define MBUF_TEST_POOL_BUF_SIZE     (256)
+#define MBUF_TEST_POOL_BUF_SIZE     (320)
 #define MBUF_TEST_POOL_BUF_COUNT    (10)
 
 #define MBUF_TEST_DATA_LEN          (1024)
diff --git a/kernel/os/selftest/src/testcases/ob_mbuf_test_adj.c 
b/kernel/os/selftest/src/testcases/ob_mbuf_test_adj.c
index dbdd090fa..289ccf684 100644
--- a/kernel/os/selftest/src/testcases/ob_mbuf_test_adj.c
+++ b/kernel/os/selftest/src/testcases/ob_mbuf_test_adj.c
@@ -21,6 +21,9 @@
 TEST_CASE_SELF(os_mbuf_test_adj)
 {
     struct os_mbuf *om;
+    int initial_om_len;
+    int om_len_check;
+    int pkthdr_len_check;
     int rc;
 
     os_mbuf_test_setup();
@@ -31,30 +34,37 @@ TEST_CASE_SELF(os_mbuf_test_adj)
     rc = os_mbuf_append(om, os_mbuf_test_data, sizeof os_mbuf_test_data);
     TEST_ASSERT_FATAL(rc == 0);
 
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 222,
-                                  sizeof os_mbuf_test_data, 18);
+    initial_om_len = MBUF_TEST_POOL_BUF_SIZE - sizeof(struct os_mbuf) -
+                     sizeof(struct os_mbuf_pkthdr) - 10;
+    pkthdr_len_check = 10 + sizeof(struct os_mbuf_pkthdr);
+    om_len_check = initial_om_len;
+
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, om_len_check,
+                                  sizeof os_mbuf_test_data, pkthdr_len_check);
 
     /* Remove from the front. */
     os_mbuf_adj(om, 10);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + 10, 212,
-                                  sizeof os_mbuf_test_data - 10, 18);
+    om_len_check -= 10;
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + 10, om_len_check,
+                                  sizeof os_mbuf_test_data - 10, 
pkthdr_len_check);
 
     /* Remove from the back. */
     os_mbuf_adj(om, -10);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + 10, 212,
-                                  sizeof os_mbuf_test_data - 20, 18);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + 10, om_len_check,
+                                  sizeof os_mbuf_test_data - 20, 
pkthdr_len_check);
 
     /* Remove entire first buffer. */
-    os_mbuf_adj(om, 212);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + 222, 0,
-                                  sizeof os_mbuf_test_data - 232, 18);
+    os_mbuf_adj(om, om_len_check);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + initial_om_len, 0,
+                                  sizeof os_mbuf_test_data - initial_om_len - 
10,
+                                  pkthdr_len_check);
 
     /* Remove next buffer. */
-    os_mbuf_adj(om, 256);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + 478, 0,
-                                  sizeof os_mbuf_test_data - 488, 18);
+    os_mbuf_adj(om, MBUF_TEST_POOL_BUF_SIZE);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data + initial_om_len + 
MBUF_TEST_POOL_BUF_SIZE, 0,
+                                  sizeof os_mbuf_test_data - (initial_om_len + 
MBUF_TEST_POOL_BUF_SIZE + 10), pkthdr_len_check);
 
     /* Remove more data than is present. */
     os_mbuf_adj(om, 1000);
-    os_mbuf_test_misc_assert_sane(om, NULL, 0, 0, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, 0, 0, pkthdr_len_check);
 }
diff --git a/kernel/os/selftest/src/testcases/ob_mbuf_test_pullup.c 
b/kernel/os/selftest/src/testcases/ob_mbuf_test_pullup.c
index 3e05c16a1..efbed313e 100644
--- a/kernel/os/selftest/src/testcases/ob_mbuf_test_pullup.c
+++ b/kernel/os/selftest/src/testcases/ob_mbuf_test_pullup.c
@@ -22,6 +22,7 @@ TEST_CASE_SELF(os_mbuf_test_pullup)
 {
     struct os_mbuf *om;
     struct os_mbuf *om2;
+    int pkthdr_len_check;
     int rc;
 
     os_mbuf_test_setup();
@@ -30,6 +31,8 @@ TEST_CASE_SELF(os_mbuf_test_pullup)
     om = os_mbuf_get_pkthdr(&os_mbuf_pool, 10);
     TEST_ASSERT_FATAL(om != NULL);
 
+    pkthdr_len_check = 10 + sizeof(struct os_mbuf_pkthdr);
+
     om = os_mbuf_pullup(om, 1);
     TEST_ASSERT(om == NULL);
 
@@ -39,10 +42,10 @@ TEST_CASE_SELF(os_mbuf_test_pullup)
 
     rc = os_mbuf_append(om, os_mbuf_test_data, 1);
     TEST_ASSERT_FATAL(rc == 0);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 1, 1, 18);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 1, 1, 
pkthdr_len_check);
 
     om = os_mbuf_pullup(om, 1);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 1, 1, 18);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 1, 1, 
pkthdr_len_check);
 
     /*** Spread os_mbuf_test_data across four mbufs. */
     om2 = os_mbuf_get(&os_mbuf_pool, 10);
@@ -66,7 +69,7 @@ TEST_CASE_SELF(os_mbuf_test_pullup)
     TEST_ASSERT_FATAL(OS_MBUF_PKTLEN(om) == 4);
 
     om = os_mbuf_pullup(om, 4);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 4, 4, 18);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 4, 4, 
pkthdr_len_check);
 
     os_mbuf_free_chain(om);
 
@@ -85,7 +88,7 @@ TEST_CASE_SELF(os_mbuf_test_pullup)
     os_mbuf_concat(om, om2);
 
     om = os_mbuf_pullup(om, 200);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 200, 200, 18);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 200, 200, 
pkthdr_len_check);
 
     /*** Partial pullup. */
     om = os_mbuf_get_pkthdr(&os_mbuf_pool, 10);
@@ -102,5 +105,5 @@ TEST_CASE_SELF(os_mbuf_test_pullup)
     os_mbuf_concat(om, om2);
 
     om = os_mbuf_pullup(om, 150);
-    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 150, 200, 18);
+    os_mbuf_test_misc_assert_sane(om, os_mbuf_test_data, 150, 200, 
pkthdr_len_check);
 }
diff --git a/kernel/os/selftest/src/testcases/os_mbuf_test_extend.c 
b/kernel/os/selftest/src/testcases/os_mbuf_test_extend.c
index 7e5609682..1c84a82b8 100644
--- a/kernel/os/selftest/src/testcases/os_mbuf_test_extend.c
+++ b/kernel/os/selftest/src/testcases/os_mbuf_test_extend.c
@@ -22,6 +22,9 @@ TEST_CASE_SELF(os_mbuf_test_extend)
 {
     struct os_mbuf *om;
     void *v;
+    int trailingspace_check;
+    int om_len_check;
+    int pkthdr_len_check;
 
     os_mbuf_test_setup();
 
@@ -29,63 +32,76 @@ TEST_CASE_SELF(os_mbuf_test_extend)
     om = os_mbuf_get_pkthdr(&os_mbuf_pool, 10);
     TEST_ASSERT_FATAL(om != NULL);
 
-    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 222);
+    trailingspace_check = MBUF_TEST_POOL_BUF_SIZE - sizeof(struct os_mbuf) -
+                          sizeof(struct os_mbuf_pkthdr) - 10;
+    om_len_check = 0;
+    pkthdr_len_check = 10 + sizeof(struct os_mbuf_pkthdr);
+
+    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == trailingspace_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next) == NULL);
-    os_mbuf_test_misc_assert_sane(om, NULL, 0, 0, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check, 
pkthdr_len_check);
 
     v = os_mbuf_extend(om, 20);
+    trailingspace_check -= 20;
+    om_len_check += 20;
     TEST_ASSERT(v != NULL);
     TEST_ASSERT(v == om->om_data);
     TEST_ASSERT(om->om_len == 20);
 
-    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 202);
+    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == trailingspace_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next) == NULL);
-    os_mbuf_test_misc_assert_sane(om, NULL, 20, 20, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check, 
pkthdr_len_check);
 
     v = os_mbuf_extend(om, 100);
+    trailingspace_check -= 100;
+    om_len_check += 100;
     TEST_ASSERT(v != NULL);
     TEST_ASSERT(v == om->om_data + 20);
-    TEST_ASSERT(om->om_len == 120);
+    TEST_ASSERT(om->om_len == om_len_check);
 
-    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 102);
+    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == trailingspace_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next) == NULL);
-    os_mbuf_test_misc_assert_sane(om, NULL, 120, 120, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check, 
pkthdr_len_check);
 
     v = os_mbuf_extend(om, 101);
+    trailingspace_check -= 101;
+    om_len_check += 101;
     TEST_ASSERT(v != NULL);
     TEST_ASSERT(v == om->om_data + 120);
-    TEST_ASSERT(om->om_len == 221);
+    TEST_ASSERT(om->om_len == om_len_check);
 
-    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 1);
+    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == trailingspace_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next) == NULL);
-    os_mbuf_test_misc_assert_sane(om, NULL, 221, 221, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check, 
pkthdr_len_check);
 
-    v = os_mbuf_extend(om, 1);
+    v = os_mbuf_extend(om, trailingspace_check);
+    om_len_check += trailingspace_check;
+    trailingspace_check = 0;
     TEST_ASSERT(v != NULL);
     TEST_ASSERT(v == om->om_data + 221);
-    TEST_ASSERT(om->om_len == 222);
+    TEST_ASSERT(om->om_len == om_len_check);
 
-    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 0);
+    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == trailingspace_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next) == NULL);
-    os_mbuf_test_misc_assert_sane(om, NULL, 222, 222, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check, 
pkthdr_len_check);
 
     /* Overflow into next buffer. */
     v = os_mbuf_extend(om, 1);
-    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 0);
+    TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == trailingspace_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next) != NULL);
 
     TEST_ASSERT(v == SLIST_NEXT(om, om_next)->om_data);
-    TEST_ASSERT(om->om_len == 222);
+    TEST_ASSERT(om->om_len == om_len_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next)->om_len == 1);
-    os_mbuf_test_misc_assert_sane(om, NULL, 222, 223, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check + 1, 
pkthdr_len_check);
 
     /*** Attempt to extend by an amount larger than max buf size fails. */
-    v = os_mbuf_extend(om, 257);
+    v = os_mbuf_extend(om, MBUF_TEST_POOL_BUF_SIZE + 1);
     TEST_ASSERT(v == NULL);
     TEST_ASSERT(OS_MBUF_TRAILINGSPACE(om) == 0);
     TEST_ASSERT(SLIST_NEXT(om, om_next) != NULL);
 
-    TEST_ASSERT(om->om_len == 222);
+    TEST_ASSERT(om->om_len == om_len_check);
     TEST_ASSERT(SLIST_NEXT(om, om_next)->om_len == 1);
-    os_mbuf_test_misc_assert_sane(om, NULL, 222, 223, 18);
+    os_mbuf_test_misc_assert_sane(om, NULL, om_len_check, om_len_check + 1, 
pkthdr_len_check);
 }
diff --git a/kernel/os/selftest/src/testcases/os_mbuf_test_pack_chains.c 
b/kernel/os/selftest/src/testcases/os_mbuf_test_pack_chains.c
index a68450620..a3b773ba1 100644
--- a/kernel/os/selftest/src/testcases/os_mbuf_test_pack_chains.c
+++ b/kernel/os/selftest/src/testcases/os_mbuf_test_pack_chains.c
@@ -18,9 +18,6 @@
  */
 #include "os_test_priv.h"
 
-#if MBUF_TEST_POOL_BUF_SIZE != 256
-    #error "Test pool buffer size must be 256!"
-#endif
 
 /* This structure is used to create mbuf chains. It contains the length
    of data that should be in each mbuf in the chain and the amount of

Reply via email to