diff options
Diffstat (limited to 'tests/msgb/msgb_test.c')
-rw-r--r-- | tests/msgb/msgb_test.c | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/tests/msgb/msgb_test.c b/tests/msgb/msgb_test.c index ffaa1557..7966103b 100644 --- a/tests/msgb/msgb_test.c +++ b/tests/msgb/msgb_test.c @@ -12,10 +12,6 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * */ #include <stdlib.h> @@ -65,7 +61,7 @@ static int osmo_panic_try(volatile int *exception, int setjmp_result) return *exception == 0; } -static void test_msgb_api() +static void test_msgb_api(void) { struct msgb *msg = msgb_alloc_headroom(4096, 128, "data"); unsigned char *cptr = NULL; @@ -121,7 +117,7 @@ static void test_msgb_api() msgb_free(msg); } -static void test_msgb_api_errors() +static void test_msgb_api_errors(void) { struct msgb *msg = msgb_alloc_headroom(4096, 128, "data"); volatile int e = 0; @@ -142,7 +138,7 @@ static void test_msgb_api_errors() osmo_set_panic_handler(NULL); } -static void test_msgb_copy() +static void test_msgb_copy(void) { struct msgb *msg = msgb_alloc_headroom(4096, 128, "data"); struct msgb *msg2; @@ -165,19 +161,31 @@ static void test_msgb_copy() OSMO_ASSERT(msgb_l1len(msg) == msgb_l1len(msg2)); OSMO_ASSERT(msgb_l2len(msg) == msgb_l2len(msg2)); OSMO_ASSERT(msgb_l3len(msg) == msgb_l3len(msg2)); - OSMO_ASSERT(msg->tail - msg->l4h == msg2->tail - msg2->l4h); + OSMO_ASSERT(msgb_l4len(msg) == msgb_l4len(msg2)); + + if (!msgb_eq_data_print(msg2, msg->data, msgb_length(msg))) + printf("copy test failed!\n"); - for (i = 0; i < msgb_length(msg2); i++) - OSMO_ASSERT(msg2->data[i] == (uint8_t)i); + if (!msgb_eq_l1_data_print(msg2, msgb_l1(msg), msgb_l1len(msg))) + printf("copy test failed at L1!\n"); + if (!msgb_eq_l2_data_print(msg2, msgb_l2(msg), msgb_l2len(msg))) + printf("copy test failed at L2!\n"); + if (!msgb_eq_l3_data_print(msg2, msgb_l3(msg), msgb_l3len(msg))) + printf("copy test failed at L3!\n"); + if (!msgb_eq_l4_data_print(msg2, msgb_l4(msg), msgb_l4len(msg))) + printf("copy test failed at L4!\n"); printf("Src: %s\n", msgb_hexdump(msg)); - printf("Dst: %s\n", msgb_hexdump(msg)); + printf("Dst: %s\n", msgb_hexdump(msg2)); + + OSMO_ASSERT(msgb_test_invariant(msg)); + OSMO_ASSERT(msgb_test_invariant(msg2)); msgb_free(msg); msgb_free(msg2); } -static void test_msgb_resize_area() +static void test_msgb_resize_area(void) { struct msgb *msg = msgb_alloc_headroom(4096, 128, "data"); int rc; @@ -277,7 +285,7 @@ static void test_msgb_resize_area() osmo_set_panic_handler(NULL); } -static void test_msgb_printf() +static void test_msgb_printf(void) { struct msgb *msg; struct msgb *msg_ref; |