test: properly handle new KEY_PAIR_yyy symbols in PSA generated test

This includes:

- removal of temporary patches recently introdued in PR 7641
- proper replacing of legacy KEY_PAIR symbols with either
  KEY_PAIR_IMPORT or KEY_PAIR_GENERATE depending on the test

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/tests/scripts/generate_psa_tests.py b/tests/scripts/generate_psa_tests.py
index 52f8eda..fe4649e 100755
--- a/tests/scripts/generate_psa_tests.py
+++ b/tests/scripts/generate_psa_tests.py
@@ -41,8 +41,6 @@
     # renamed to temporary internal symbols
     # MBEDTLS_PSA_WANT_KEY_TYPE_[RSA/ECC]_KEY_PAIR_LEGACY so this is what must
     # be used in tests' dependencies.
-    if name.endswith('RSA_KEY_PAIR') or name.endswith('ECC_KEY_PAIR'):
-        return 'MBEDTLS_' + name[:4] + 'WANT_' + name[4:] + '_LEGACY'
     if name.startswith('PSA_'):
         return name[:4] + 'WANT_' + name[4:]
     else:
@@ -113,19 +111,13 @@
                      for line in open(filename)
                      for symbol in re.findall(r'\bPSA_WANT_\w+\b', line))
 _implemented_dependencies = None #type: Optional[FrozenSet[str]] #pylint: disable=invalid-name
-# This is a temporary fix for the KEY_PAIR_LEGACY symbols since they are not
-# defined in "crypto_config.h". This fix can be removed as soon as these _LEGACY
-# symbols will be removed from the code.
-_LEGACY_KEY_PAIR = ['MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY',
-                    'MBEDTLS_PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_LEGACY']
 def hack_dependencies_not_implemented(dependencies: List[str]) -> None:
     global _implemented_dependencies #pylint: disable=global-statement,invalid-name
     if _implemented_dependencies is None:
         _implemented_dependencies = \
             read_implemented_dependencies('include/psa/crypto_config.h')
     if not all((dep.lstrip('!') in _implemented_dependencies or
-                'PSA_WANT' not in dep or
-                dep.lstrip('!') in _LEGACY_KEY_PAIR)
+                'PSA_WANT' not in dep)
                for dep in dependencies):
         dependencies.append('DEPENDENCY_NOT_IMPLEMENTED_YET')
 
@@ -222,7 +214,20 @@
         if kt.name.endswith('_PUBLIC_KEY'):
             generate_dependencies = []
         else:
-            generate_dependencies = import_dependencies
+            # Create a separate list so that we can work on them independently
+            # in the following.
+            generate_dependencies = [dep for dep in import_dependencies]
+        # PSA_WANT_KEY_TYPE_xxx_KEY_PAIR symbols have now a GENERATE and
+        # IMPORT suffixes to state that they support key generation and
+        # import, respectively.
+        for dep in import_dependencies:
+            if dep.endswith('KEY_PAIR'):
+                import_dependencies.remove(dep)
+                import_dependencies.append(dep + "_IMPORT")
+        for dep in generate_dependencies:
+            if dep.endswith('KEY_PAIR'):
+                generate_dependencies.remove(dep)
+                generate_dependencies.append(dep + "_GENERATE")
         for bits in kt.sizes_to_test():
             yield test_case_for_key_type_not_supported(
                 'import', kt.expression, bits,
@@ -317,6 +322,11 @@
             generate_dependencies = import_dependencies
             if kt.name == 'PSA_KEY_TYPE_RSA_KEY_PAIR':
                 generate_dependencies.append("MBEDTLS_GENPRIME")
+            # PSA_WANT_KEY_TYPE_xxx_KEY_PAIR symbols have now a GENERATE suffix
+            # to state that they support key generation.
+            if kt.name == 'PSA_KEY_TYPE_ECC_KEY_PAIR':
+                generate_dependencies.remove(psa_want_symbol(kt.name))
+                generate_dependencies.append(psa_want_symbol(kt.name) + "_GENERATE")
         for bits in kt.sizes_to_test():
             yield test_case_for_key_generation(
                 kt.expression, bits,