mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 17:35:46 +01:00
Detect test cases that require something not to be supported
PSA_xxx_CATEGORY_yyy is used in metadata tests where it doesn't involve any particular support, and elsewhere it's used as a value that is definitely not supported but is in a plausible range. Such symbols do not require any dependency. If a test case is expects PSA_ERROR_NOT_SUPPORTED, its dependencies (often including one negative dependency) cannot be determined automatically, so leave that test case alone. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
f032fa9d94
commit
20987b9a46
@ -149,6 +149,11 @@ def dependencies_of_symbol(symbol):
|
|||||||
return frozenset()
|
return frozenset()
|
||||||
if symbol in SPECIAL_SYSTEMATIC_DEPENDENCIES:
|
if symbol in SPECIAL_SYSTEMATIC_DEPENDENCIES:
|
||||||
return SPECIAL_SYSTEMATIC_DEPENDENCIES[symbol]
|
return SPECIAL_SYSTEMATIC_DEPENDENCIES[symbol]
|
||||||
|
if symbol.startswith('PSA_ALG_CATEGORY_') or \
|
||||||
|
symbol.startswith('PSA_KEY_TYPE_CATEGORY_'):
|
||||||
|
# Categories are used in test data when an unsupported but plausible
|
||||||
|
# mechanism number needed. They have no associated dependency.
|
||||||
|
return frozenset()
|
||||||
return {symbol.replace('_', '_WANT_', 1)}
|
return {symbol.replace('_', '_WANT_', 1)}
|
||||||
|
|
||||||
def systematic_dependencies(file_name, function_name, arguments):
|
def systematic_dependencies(file_name, function_name, arguments):
|
||||||
@ -178,6 +183,12 @@ def updated_dependencies(file_name, function_name, arguments, dependencies):
|
|||||||
def keep_manual_dependencies(file_name, function_name, arguments):
|
def keep_manual_dependencies(file_name, function_name, arguments):
|
||||||
#pylint: disable=unused-argument
|
#pylint: disable=unused-argument
|
||||||
"""Declare test functions with unusual dependencies here."""
|
"""Declare test functions with unusual dependencies here."""
|
||||||
|
# When PSA_ERROR_NOT_SUPPORTED is expected, usually, at least one of the
|
||||||
|
# constants mentioned in the test should not be supported. It isn't
|
||||||
|
# possible to determine which one in a systematic way. So let the programmer
|
||||||
|
# decide.
|
||||||
|
if arguments[-1] == 'PSA_ERROR_NOT_SUPPORTED':
|
||||||
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def process_data_stanza(stanza, file_name, test_case_number):
|
def process_data_stanza(stanza, file_name, test_case_number):
|
||||||
|
Loading…
Reference in New Issue
Block a user