Add test in block_cipher_key_type test case

The test case uses a bit shift to check that the block
size is a power of 2

Fixes #4228

Signed-off-by: Joe Subbiani <joe.subbiani@arm.com>
diff --git a/tests/suites/test_suite_psa_crypto_metadata.function b/tests/suites/test_suite_psa_crypto_metadata.function
index d91f90f..ef0b265 100644
--- a/tests/suites/test_suite_psa_crypto_metadata.function
+++ b/tests/suites/test_suite_psa_crypto_metadata.function
@@ -603,6 +603,28 @@
     TEST_EQUAL( type & PSA_KEY_TYPE_CATEGORY_MASK,
                 PSA_KEY_TYPE_CATEGORY_SYMMETRIC );
     TEST_EQUAL( PSA_BLOCK_CIPHER_BLOCK_LENGTH( type ), block_size );
+
+    /* PSA_ROUND_UP_TO_MULTIPLE(block_size, length) in crypto_sizes.h
+     * Requires block sizes to be a power of 2.
+     * The following creates a bit and shifts along until it finds a
+     * match or a mismatch.
+     */
+    int check = 0;
+
+    for (size_t index = 1; index > 0; index = index << 1)
+    {
+        if (index == block_size)
+        {
+            check = 0;
+            break;
+        }
+        if (index > block_size)
+        {
+            check = 1;
+            break;
+        }
+    }
+    TEST_EQUAL( check, 0);
 }
 /* END_CASE */