]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: microchip: vcap: Add typegroup table terminators in kunit tests
authorGuenter Roeck <linux@roeck-us.net>
Tue, 19 Nov 2024 21:32:02 +0000 (13:32 -0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 25 Nov 2024 00:52:13 +0000 (16:52 -0800)
VCAP API unit tests fail randomly with errors such as

   # vcap_api_iterator_init_test: EXPECTATION FAILED at drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c:387
   Expected 134 + 7 == iter.offset, but
       134 + 7 == 141 (0x8d)
       iter.offset == 17214 (0x433e)
   # vcap_api_iterator_init_test: EXPECTATION FAILED at drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c:388
   Expected 5 == iter.reg_idx, but
       iter.reg_idx == 702 (0x2be)
   # vcap_api_iterator_init_test: EXPECTATION FAILED at drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c:389
   Expected 11 == iter.reg_bitpos, but
       iter.reg_bitpos == 15 (0xf)
   # vcap_api_iterator_init_test: pass:0 fail:1 skip:0 total:1

Comments in the code state that "A typegroup table ends with an all-zero
terminator". Add the missing terminators.

Some of the typegroups did have a terminator of ".offset = 0, .width = 0,
.value = 0,". Replace those terminators with "{ }" (no trailing ',') for
consistency and to excplicitly state "this is a terminator".

Fixes: 67d637516fa9 ("net: microchip: sparx5: Adding KUNIT test for the VCAP API")
Cc: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20241119213202.2884639-1-linux@roeck-us.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c

index 7251121ab196e36e141da426b37591505cf085a9..16eb3de60eb6df6d2d9cce280d6fe7b0ce8b6f06 100644 (file)
@@ -366,12 +366,13 @@ static void vcap_api_iterator_init_test(struct kunit *test)
        struct vcap_typegroup typegroups[] = {
                { .offset = 0, .width = 2, .value = 2, },
                { .offset = 156, .width = 1, .value = 0, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
        struct vcap_typegroup typegroups2[] = {
                { .offset = 0, .width = 3, .value = 4, },
                { .offset = 49, .width = 2, .value = 0, },
                { .offset = 98, .width = 2, .value = 0, },
+               { }
        };
 
        vcap_iter_init(&iter, 52, typegroups, 86);
@@ -399,6 +400,7 @@ static void vcap_api_iterator_next_test(struct kunit *test)
                { .offset = 147, .width = 3, .value = 0, },
                { .offset = 196, .width = 2, .value = 0, },
                { .offset = 245, .width = 1, .value = 0, },
+               { }
        };
        int idx;
 
@@ -433,7 +435,7 @@ static void vcap_api_encode_typegroups_test(struct kunit *test)
                { .offset = 147, .width = 3, .value = 5, },
                { .offset = 196, .width = 2, .value = 2, },
                { .offset = 245, .width = 5, .value = 27, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
 
        vcap_encode_typegroups(stream, 49, typegroups, false);
@@ -463,6 +465,7 @@ static void vcap_api_encode_bit_test(struct kunit *test)
                { .offset = 147, .width = 3, .value = 5, },
                { .offset = 196, .width = 2, .value = 2, },
                { .offset = 245, .width = 1, .value = 0, },
+               { }
        };
 
        vcap_iter_init(&iter, 49, typegroups, 44);
@@ -489,7 +492,7 @@ static void vcap_api_encode_field_test(struct kunit *test)
                { .offset = 147, .width = 3, .value = 5, },
                { .offset = 196, .width = 2, .value = 2, },
                { .offset = 245, .width = 5, .value = 27, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
        struct vcap_field rf = {
                .type = VCAP_FIELD_U32,
@@ -538,7 +541,7 @@ static void vcap_api_encode_short_field_test(struct kunit *test)
                { .offset = 0, .width = 3, .value = 7, },
                { .offset = 21, .width = 2, .value = 3, },
                { .offset = 42, .width = 1, .value = 1, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
        struct vcap_field rf = {
                .type = VCAP_FIELD_U32,
@@ -608,7 +611,7 @@ static void vcap_api_encode_keyfield_test(struct kunit *test)
        struct vcap_typegroup tgt[] = {
                { .offset = 0, .width = 2, .value = 2, },
                { .offset = 156, .width = 1, .value = 1, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
 
        vcap_test_api_init(&admin);
@@ -671,7 +674,7 @@ static void vcap_api_encode_max_keyfield_test(struct kunit *test)
        struct vcap_typegroup tgt[] = {
                { .offset = 0, .width = 2, .value = 2, },
                { .offset = 156, .width = 1, .value = 1, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
        u32 keyres[] = {
                0x928e8a84,
@@ -732,7 +735,7 @@ static void vcap_api_encode_actionfield_test(struct kunit *test)
                { .offset = 0, .width = 2, .value = 2, },
                { .offset = 21, .width = 1, .value = 1, },
                { .offset = 42, .width = 1, .value = 0, },
-               { .offset = 0, .width = 0, .value = 0, },
+               { }
        };
 
        vcap_encode_actionfield(&rule, &caf, &rf, tgt);