Fix pylint issues
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
diff --git a/tests/scripts/generate_psa_tests.py b/tests/scripts/generate_psa_tests.py
old mode 100755
new mode 100644
index 5cf893b..52c2a09
--- a/tests/scripts/generate_psa_tests.py
+++ b/tests/scripts/generate_psa_tests.py
@@ -254,11 +254,12 @@
self.original_usage #type: psa_storage.Expr
class StorageKeyBuilder:
+ # pylint: disable=too-few-public-methods
def __init__(self, usage_extension: bool) -> None:
self.usage_extension = usage_extension #type: bool
def build(self, **kwargs) -> StorageKey:
- return StorageKey(usage_extension = self.usage_extension, **kwargs)
+ return StorageKey(usage_extension=self.usage_extension, **kwargs)
class StorageFormat:
"""Storage format stability test cases."""
@@ -276,7 +277,7 @@
self.constructors = info.constructors #type: macro_collector.PSAMacroEnumerator
self.version = version #type: int
self.forward = forward #type: bool
- self.key_builder = StorageKeyBuilder(usage_extension = True) #type: StorageKeyBuilder
+ self.key_builder = StorageKeyBuilder(usage_extension=True) #type: StorageKeyBuilder
def make_test_case(self, key: StorageKey) -> test_case.TestCase:
"""Construct a storage format test case for the given key.
@@ -329,13 +330,12 @@
r'', short)
short = re.sub(r'PSA_KEY_[A-Z]+_', r'', short)
description = 'lifetime: ' + short
- key = self.key_builder.build(
- version=self.version,
- id=1, lifetime=lifetime,
- type='PSA_KEY_TYPE_RAW_DATA', bits=8,
- usage='PSA_KEY_USAGE_EXPORT', alg=0, alg2=0,
- material=b'L',
- description=description)
+ key = self.key_builder.build(version=self.version,
+ id=1, lifetime=lifetime,
+ type='PSA_KEY_TYPE_RAW_DATA', bits=8,
+ usage='PSA_KEY_USAGE_EXPORT', alg=0, alg2=0,
+ material=b'L',
+ description=description)
return key
def all_keys_for_lifetimes(self) -> List[StorageKey]:
@@ -373,7 +373,7 @@
material=b'K',
description=description)
- def all_keys_for_usage_flags(
+ def generate_keys_for_usage_flags(
self,
extra_desc: Optional[str] = None
) -> List[StorageKey]:
@@ -411,20 +411,20 @@
r'',
kt.expression)
description = 'type: {} {}-bit'.format(short_expression, bits)
- keys.append(self.key_builder.build(
- version=self.version,
- id=1, lifetime=0x00000001,
- type=kt.expression, bits=bits,
- usage=usage_flags, alg=alg, alg2=alg2,
- material=key_material,
- description=description))
+ keys.append(self.key_builder.build(version=self.version,
+ id=1, lifetime=0x00000001,
+ type=kt.expression, bits=bits,
+ usage=usage_flags, alg=alg, alg2=alg2,
+ material=key_material,
+ description=description))
return keys
def all_keys_for_types(self) -> List[StorageKey]:
"""Generate test keys covering key types and their representations."""
key_types = sorted(self.constructors.key_types)
- return [key for key_type in self.constructors.generate_expressions(key_types)
- for key in self.keys_for_type(key_type)]
+ return [key
+ for key_type in self.constructors.generate_expressions(key_types)
+ for key in self.keys_for_type(key_type)]
def keys_for_algorithm(self, alg: str) -> List[StorageKey]:
"""Generate test keys for the specified algorithm."""
@@ -451,8 +451,9 @@
def all_keys_for_algorithms(self) -> List[StorageKey]:
"""Generate test keys covering algorithm encodings."""
algorithms = sorted(self.constructors.algorithms)
- return [key for alg in self.constructors.generate_expressions(algorithms)
- for key in self.keys_for_algorithm(alg)]
+ return [key
+ for alg in self.constructors.generate_expressions(algorithms)
+ for key in self.keys_for_algorithm(alg)]
def generate_all_keys(self) -> List[StorageKey]:
"""Generate all keys for the test cases."""
@@ -497,7 +498,9 @@
"""Generate test keys covering usage flags."""
# First generate keys without usage policy extension for
# compatibility testing, then generate the keys with extension
- # to check the extension is working.
+ # to check the extension is working. Finally generate key for all known
+ # usage flag which needs to be separted because it is not affected by
+ # usage extension.
keys = [] #type: List[StorageKey]
prev_builder = self.key_builder
@@ -517,6 +520,7 @@
key_type: str,
params: Optional[Iterable[str]] = None
) -> List[StorageKey]:
+ # pylint: disable=too-many-locals
"""Generate test keys for the specified extendable usage flag,
algorithm and key type combination.
"""
@@ -533,22 +537,22 @@
alg_expression = re.sub(r'PSA_ALG_', r'', alg)
alg_expression = re.sub(r',', r', ', re.sub(r' +', r'', alg_expression))
key_type_expression = re.sub(r'\bPSA_(?:KEY_TYPE|ECC_FAMILY)_',
- r'',
- kt.expression)
+ r'',
+ kt.expression)
description = 'extend {}: {} {} {}-bit'.format(
usage_expression, alg_expression, key_type_expression, bits)
- keys.append(self.key_builder.build(
- version=self.version,
- id=1, lifetime=0x00000001,
- type=kt.expression, bits=bits,
- usage=material_usage_flags,
- expected_usage=expected_usage_flags,
- alg=alg, alg2=alg2,
- material=key_material,
- description=description))
+ keys.append(self.key_builder.build(version=self.version,
+ id=1, lifetime=0x00000001,
+ type=kt.expression, bits=bits,
+ usage=material_usage_flags,
+ expected_usage=expected_usage_flags,
+ alg=alg, alg2=alg2,
+ material=key_material,
+ description=description))
return keys
def gather_key_types_for_sign_alg(self) -> Dict[str, List[str]]:
+ # pylint: disable=too-many-locals
"""Match possible key types for sign algorithms."""
# To create a valid combinaton both the algorithms and key types
# must be filtered. Pair them with keywords created from its names.
@@ -561,10 +565,8 @@
exclusive_keywords = {
'EDWARDS': 'ECC'
}
- key_types = set(self.constructors.generate_expressions(
- self.constructors.key_types))
- algorithms = set(self.constructors.generate_expressions(
- self.constructors.sign_algorithms))
+ key_types = set(self.constructors.generate_expressions(self.constructors.key_types))
+ algorithms = set(self.constructors.generate_expressions(self.constructors.sign_algorithms))
alg_with_keys = {} #type: Dict[str, List[str]]
translation_table = str.maketrans('(', '_', ')')
for alg in algorithms:
@@ -606,17 +608,18 @@
prev_builder = self.key_builder
# Generate the key without usage extension
- self.key_builder = StorageKeyBuilder(usage_extension = False)
+ self.key_builder = StorageKeyBuilder(usage_extension=False)
alg_with_keys = self.gather_key_types_for_sign_alg()
key_restrictions = StorageKey.EXTENDABLE_USAGE_FLAGS_KEY_RESTRICTION
# Walk through all combintion. The key types must be filtered to fit
# the specific usage flag.
- keys += [key for usage in StorageKey.EXTENDABLE_USAGE_FLAGS.keys()
- for alg in sorted(alg_with_keys.keys())
- for key_type in sorted(filter(
- lambda kt: re.match(key_restrictions[usage.string], kt),
- alg_with_keys[alg]))
- for key in self.keys_for_usage_extension(usage, alg, key_type)]
+ keys += [key
+ for usage in StorageKey.EXTENDABLE_USAGE_FLAGS
+ for alg in sorted(alg_with_keys)
+ for key_type in sorted([kt
+ for kt in alg_with_keys[alg]
+ if re.match(key_restrictions[usage.string], kt)])
+ for key in self.keys_for_usage_extension(usage, alg, key_type)]
self.key_builder = prev_builder
return keys