generate_test_cases.py: OpFail: detect which categories are supported #264
Labels
No labels
approved
bug
dependencies
DO-NOT-MERGE
enhancement
good-first-issue
help-wanted
historical-reviewed
historical-reviewing
needs-adoption
needs-ci
needs-design-approval
needs-info
needs-preceding-pr
needs-review
needs-reviewer
needs-work
priority-high
priority-low
priority-medium
priority-scheduled
priority-very-high
single-reviewer
size-l
size-m
size-s
size-xs
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Mbed-TLS/mbedtls-framework#264
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
generate_test_cases.pyin the framework generates operation failure test cases. The test cases call functions for each category of algorithms that need to be defined intest_suite_psa_crypto_op_fail.functionin each consuming branch.Different consuming branches may support different sets of categories. For example, Mbed TLS 3.6 and TF-PSA-Crypto 1.1 don't support XOF, KEM or key wrapping operations, but we indend to add those to TF-PSA-Crypto soon after 1.1. The test generator
generate_test_psa.pyparses headers to determine which algorithms and key types are supported, but we don't have any code that tells us which algorithm categories are supported.I see three possible solutions:
generate_psa_tests.pywith most of the code in the framework, but a little part in each consuming branch which customizes the categories thatOpFailconsiders.PSA_ALG_CATEGORY_xxxis defined, for example (but that might not work if we want to define an algorithm before we add support for it in the API, which is something we will do for XOF in TF-PSA-Crypto 1.1).I started to work on this in https://github.com/gilles-peskine-arm/mbedtls-framework/tree/psa_crypto_op_fail-more_categories-framework-wip with the at-least-one-supported-algorithm approach.