Backport 3.6: Switch generate_psa_test.py to automatic dependencies for positive test cases - #9796
Merged
gilles-peskine-arm merged 6 commits intoJan 9, 2025
Conversation
gilles-peskine-arm
force-pushed
the
psa-storage-test-cases-never-supported-positive-3.6
branch
2 times, most recently
from
November 27, 2024 22:05
6e6cebd to
99afe62
Compare
Running `make library/foo`, `make programs/foo` or `make tests/foo` only rebuilt the given target if it was not an existing file, because the toplevel makefile does not know the file's dependencies and thus thought that every such target had empty dependencies. Fix this by always invoking make recursively. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
gilles-peskine-arm
force-pushed
the
psa-storage-test-cases-never-supported-positive-3.6
branch
from
December 11, 2024 10:42
99afe62 to
f8fdea0
Compare
6 tasks
…s-never-supported-positive-3.6 Update framework submodule to the tip of main.
gilles-peskine-arm
force-pushed
the
psa-storage-test-cases-never-supported-positive-3.6
branch
from
December 24, 2024 16:17
1387207 to
89a1b15
Compare
Don't list mechanisms that are not implemented in `include/psa/crypto_config.h`, even commented out. Uncommenting them wouldn't help anyway: they don't work. Having them listed, even commented out, causes `find_dependencies_not_implemented()` in `psa_test_case.py` to consider those mechanisms to be implemented, and thus causes `generate_psa_tests.py` to generate test cases that cannot be executed. The affected mechanisms are: * `PSA_ALG_CBC_MAC` (`PSA_WANT_ALG_CBC_MAC`) * `PSA_ALG_XTS` (`PSA_WANT_ALG_XTS`) * `PSA_ECC_FAMILY_SECP_K1` 224-bit (`PSA_WANT_ECC_SECP_K1_224`) Also remove the affected mechanisms from configuration adjustment files, since that is code that can never be triggered. There were already no generated test cases for SECP224K1 because `PSA_WANT_ECC_SECP_K1_224` was already detected as a dependency that cannot be implemented, because that is not a valid size: PSA defines SECP224K1 as 225-bit, and `crypto_knowledge.py` follows suite, so `generate_psa_tests.py` saw `PSA_WANT_ECC_SECP_K1_225` in its enumeration but skipped it because it was never mentioned in `crypto_config.h`. This causes generated PSA tests to no longer include positive test cases for `PSA_ALG_CBC_MAC` and `PSA_ALG_XTS`. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
gilles-peskine-arm
force-pushed
the
psa-storage-test-cases-never-supported-positive-3.6
branch
from
December 24, 2024 19:07
89a1b15 to
b62279d
Compare
davidhorstmann-arm
self-requested a review
January 6, 2025 10:44
davidhorstmann-arm
approved these changes
Jan 6, 2025
davidhorstmann-arm
left a comment
Contributor
There was a problem hiding this comment.
LGTM, thanks!
waleed-elmelegy-arm
self-requested a review
January 8, 2025 14:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mostly happening in the framework, see Mbed-TLS/mbedtls-framework#83.
We expect one set of complaints from the interface stability check: many storage test cases have disappeared, namely the never-executed test cases that are no longer getting generated.
PR checklist