When data compare fails on one byte, it will likely fail on
many other bytes and flood CUnit output with asserts. Limit
the number of failed asserts to one.

Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com>
---
 test/common_plat/validation/api/packet/packet.c | 56 ++++++++++++++++++-------
 1 file changed, 40 insertions(+), 16 deletions(-)

diff --git a/test/common_plat/validation/api/packet/packet.c 
b/test/common_plat/validation/api/packet/packet.c
index b64d1c0..e2e794a 100644
--- a/test/common_plat/validation/api/packet/packet.c
+++ b/test/common_plat/validation/api/packet/packet.c
@@ -1549,12 +1549,20 @@ void packet_test_extend_small(void)
                CU_ASSERT(odp_packet_copy_to_mem(pkt, 0, len, buf) == 0);
 
                for (i = 0; i < len; i++) {
+                       int match;
+
                        if (tail) {
-                               /* assert needs brackets */
-                               CU_ASSERT(buf[i] == (i % 256));
+                               match = (buf[i] == (i % 256));
+                               CU_ASSERT(match);
                        } else {
-                               CU_ASSERT(buf[len - 1 - i] == (i % 256));
+                               match = (buf[len - 1 - i] == (i % 256));
+                               CU_ASSERT(match);
                        }
+
+                       /* Limit the number of failed asserts to
+                          one per packet */
+                       if (!match)
+                               break;
                }
 
                odp_packet_free(pkt);
@@ -1598,13 +1606,6 @@ void packet_test_extend_large(void)
                ext_len = len / div;
                cur_len = ext_len;
 
-               div++;
-               if (div > num_div) {
-                       /* test extend head */
-                       div  = 1;
-                       tail = 0;
-               }
-
                pkt = odp_packet_alloc(pool, ext_len);
                CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
 
@@ -1663,15 +1664,30 @@ void packet_test_extend_large(void)
                CU_ASSERT(odp_packet_copy_to_mem(pkt, 0, len, buf) == 0);
 
                for (i = 0; i < len; i++) {
+                       int match;
+
                        if (tail) {
-                               /* assert needs brackets */
-                               CU_ASSERT(buf[i] == (i % 256));
+                               match = (buf[i] == (i % 256));
+                               CU_ASSERT(match);
                        } else {
-                               CU_ASSERT(buf[len - 1 - i] == (i % 256));
+                               match = (buf[len - 1 - i] == (i % 256));
+                               CU_ASSERT(match);
                        }
+
+                       /* Limit the number of failed asserts to
+                          one per packet */
+                       if (!match)
+                               break;
                }
 
                odp_packet_free(pkt);
+
+               div++;
+               if (div > num_div) {
+                       /* test extend head */
+                       div  = 1;
+                       tail = 0;
+               }
        }
 
        CU_ASSERT(odp_pool_destroy(pool) == 0);
@@ -1767,12 +1783,20 @@ void packet_test_extend_mix(void)
                CU_ASSERT(odp_packet_copy_to_mem(pkt, 0, len, buf) == 0);
 
                for (i = 0; i < len; i++) {
+                       int match;
+
                        if (tail) {
-                               /* assert needs brackets */
-                               CU_ASSERT(buf[i] == (i % 256));
+                               match = (buf[i] == (i % 256));
+                               CU_ASSERT(match);
                        } else {
-                               CU_ASSERT(buf[len - 1 - i] == (i % 256));
+                               match = (buf[len - 1 - i] == (i % 256));
+                               CU_ASSERT(match);
                        }
+
+                       /* Limit the number of failed asserts to
+                          one per packet */
+                       if (!match)
+                               break;
                }
 
                odp_packet_free(pkt);
-- 
2.8.1

Reply via email to