From 49382720f8d5b4e270fae197156cd69292d42ffc Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 22 Jan 2018 15:15:06 +0100 Subject: GSUP: don't fail test on first error Instead of forcing test failure via assert on first error encountered, let it run until completion and print detailed error log. This simplifies troubleshooting by letting user to see more errors from single run and more details on each of the errors. Update test output with explicit test results. Change-Id: I016a28fe04f7b194e22c15e936095004c5f079d1 --- tests/gsup/gsup_test.c | 20 ++++++++++++++++---- tests/gsup/gsup_test.ok | 14 ++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) (limited to 'tests/gsup') diff --git a/tests/gsup/gsup_test.c b/tests/gsup/gsup_test.c index 3b360acf..eddcc924 100644 --- a/tests/gsup/gsup_test.c +++ b/tests/gsup/gsup_test.c @@ -212,21 +212,33 @@ static void test_gsup_messages_dec_enc(void) const struct test *t = &test_messages[test_idx]; struct osmo_gsup_message gm = {0}; struct msgb *msg = msgb_alloc(4096, "gsup_test"); + bool passed = true; printf(" Testing %s\n", t->name); rc = osmo_gsup_decode(t->data, t->data_len, &gm); - OSMO_ASSERT(rc >= 0); + if (rc < 0) + passed = false; osmo_gsup_encode(msg, &gm); fprintf(stderr, " generated message: %s\n", msgb_hexdump(msg)); fprintf(stderr, " original message: %s\n", osmo_hexdump(t->data, t->data_len)); fprintf(stderr, " IMSI: %s\n", gm.imsi); - OSMO_ASSERT(strcmp(gm.imsi, TEST_IMSI_STR) == 0); - OSMO_ASSERT(msgb_length(msg) == t->data_len); - OSMO_ASSERT(memcmp(msgb_data(msg), t->data, t->data_len) == 0); + if (strcmp(gm.imsi, TEST_IMSI_STR) != 0 || + msgb_length(msg) != t->data_len || + memcmp(msgb_data(msg), t->data, t->data_len) != 0) + passed = false; + + if (passed) + printf(" %s OK\n", t->name); + else + printf(" %s FAILED: %d<%s> [%u,%u,%zu,%u]\n", + t->name, rc, strerror(-rc), + strcmp(gm.imsi, TEST_IMSI_STR), + msgb_length(msg), t->data_len, + memcmp(msgb_data(msg), t->data, t->data_len)); msgb_free(msg); } diff --git a/tests/gsup/gsup_test.ok b/tests/gsup/gsup_test.ok index a0b3f354..49a85ba6 100644 --- a/tests/gsup/gsup_test.ok +++ b/tests/gsup/gsup_test.ok @@ -1,16 +1,30 @@ Test GSUP message decoding/encoding Testing Send Authentication Info Request + Send Authentication Info Request OK Testing Send Authentication Info Error + Send Authentication Info Error OK Testing Send Authentication Info Result + Send Authentication Info Result OK Testing Update Location Request + Update Location Request OK Testing Update Location Error + Update Location Error OK Testing Update Location Result + Update Location Result OK Testing Location Cancellation Request + Location Cancellation Request OK Testing Location Cancellation Error + Location Cancellation Error OK Testing Location Cancellation Result + Location Cancellation Result OK Testing Purge MS Request + Purge MS Request OK Testing Purge MS Error + Purge MS Error OK Testing Purge MS Result + Purge MS Result OK Testing Send Authentication Info Result with IK, CK, AUTN and RES (UMTS) + Send Authentication Info Result with IK, CK, AUTN and RES (UMTS) OK Testing Send Authentication Info Request with AUTS and RAND (UMTS) + Send Authentication Info Request with AUTS and RAND (UMTS) OK Done. -- cgit v1.2.3