diff --git a/tests/scripts/generate_psa_tests.py b/tests/scripts/generate_psa_tests.py old mode 100644 new mode 100755 index 1f41437a0..bd5e9522b --- a/tests/scripts/generate_psa_tests.py +++ b/tests/scripts/generate_psa_tests.py @@ -380,7 +380,18 @@ class StorageFormat: keys += [self.key_for_usage_flags([flag1, flag2], extra_desc=extra_desc) for flag1, flag2 in zip(known_flags, known_flags[1:] + [known_flags[0]])] - keys.append(self.key_for_usage_flags(known_flags, short='all known')) + return keys + + def generate_key_for_all_usage_flags(self) -> StorageKey: + known_flags = sorted(self.constructors.key_usage_flags) + return self.key_for_usage_flags(known_flags, short='all known') + + def all_keys_for_usage_flags( + self, + extra_desc: Optional[str] = None + ) -> List[StorageKey]: + keys = self.generate_keys_for_usage_flags(extra_desc=extra_desc) + keys.append(self.generate_key_for_all_usage_flags()) return keys def keys_for_type( @@ -498,11 +509,13 @@ class StorageFormatV0(StorageFormat): keys = [] #type: List[StorageKey] prev_builder = self.key_builder - self.key_builder = StorageKeyBuilder(usage_extension = False) - keys += super().all_keys_for_usage_flags(extra_desc = 'without extension') + self.key_builder = StorageKeyBuilder(usage_extension=False) + keys += self.generate_keys_for_usage_flags(extra_desc='without extension') - self.key_builder = StorageKeyBuilder(usage_extension = True) - keys += super().all_keys_for_usage_flags(extra_desc = 'with extension') + self.key_builder = StorageKeyBuilder(usage_extension=True) + keys += self.generate_keys_for_usage_flags(extra_desc='with extension') + + keys.append(self.generate_key_for_all_usage_flags()) self.key_builder = prev_builder return keys diff --git a/tests/suites/test_suite_psa_crypto_storage_format.v0.data b/tests/suites/test_suite_psa_crypto_storage_format.v0.data index 42d4ccddd..e6cba3696 100644 --- a/tests/suites/test_suite_psa_crypto_storage_format.v0.data +++ b/tests/suites/test_suite_psa_crypto_storage_format.v0.data @@ -96,10 +96,6 @@ PSA storage read: usage without extension: VERIFY_MESSAGE | COPY depends_on:PSA_WANT_KEY_TYPE_RAW_DATA key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_VERIFY_MESSAGE | PSA_KEY_USAGE_COPY:0x0000:0x0000:"4b":"505341004b455900000000000100000001100800020800000000000000000000010000004b":0 -PSA storage read: usage: all known -depends_on:PSA_WANT_KEY_TYPE_RAW_DATA -key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_DECRYPT | PSA_KEY_USAGE_DERIVE | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE:0x0000:0x0000:"4b":"505341004b455900000000000100000001100800037f00000000000000000000010000004b":0 - PSA storage read: usage with extension: 0 depends_on:PSA_WANT_KEY_TYPE_RAW_DATA key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:0:0x0000:0x0000:"4b":"505341004b455900000000000100000001100800000000000000000000000000010000004b":0