summaryrefslogtreecommitdiff
path: root/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py')
-rw-r--r--meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py b/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
index 6be84bade3..004717d610 100644
--- a/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
+++ b/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
@@ -24,6 +24,10 @@ class ParsecTest(OERuntimeTestCase):
self.parsec_status='pgrep -l parsec'
self.parsec_reload='/etc/init.d/parsec reload'
+ def tearDown(self):
+ self.target.run('sync')
+ super(ParsecTest, self).tearDown()
+
def copy_subconfig(self, cfg, provider):
""" Copy a provider configuration to target and append it to Parsec config """
@@ -53,17 +57,26 @@ class ParsecTest(OERuntimeTestCase):
self.assertIn("ID: 0x0%d (%s provider)" % (prov_id, provider),
output, msg='%s provider is not configured.' % provider)
- def run_cli_tests(self, prov_id=None):
+ def run_cli_tests(self, prov_id=None, extra_params=""):
""" Run Parsec CLI end-to-end tests against one or all providers """
- status, output = self.target.run('parsec-cli-tests.sh %s' % ("-%d" % prov_id if prov_id else ""))
+ status, output = self.target.run('parsec-cli-tests.sh %s %s' % ("-%d" % prov_id if prov_id else "", extra_params))
self.assertEqual(status, 0, msg='Parsec CLI tests failed.\n %s' % output)
def check_packageconfig(self, prov):
""" Check that the require provider is included in Parsec """
- if prov not in self.tc.td['PACKAGECONFIG:pn-parsec-service']:
+
+ if 'PACKAGECONFIG:pn-parsec-service' in self.tc.td.keys():
+ providers = self.tc.td['PACKAGECONFIG:pn-parsec-service']
+ else:
+ # PACKAGECONFIG is not defined in local.conf
+ # Let's use the default value
+ providers = "PKCS11 MBED-CRYPTO"
+ if 'tpm2' in self.tc.td['DISTRO_FEATURES']:
+ providers += " TPM"
+ if prov not in providers:
self.skipTest('%s provider is not included in Parsec. Parsec PACKAGECONFIG: "%s"' % \
- (prov, self.tc.td['PACKAGECONFIG:pn-parsec-service']))
+ (prov, providers))
def check_packages(self, prov, packages):
""" Check for the required packages for Parsec providers software backends """
@@ -181,7 +194,9 @@ class ParsecTest(OERuntimeTestCase):
self.configure_pkcs11_provider()
self.check_parsec_providers("PKCS #11", prov_id)
- self.run_cli_tests(prov_id)
+ # Software PKCS11 we use for OE QA testing
+ # doesn't support RSA-OAEP(SHA256) encryption/decryption operations
+ self.run_cli_tests(prov_id, "--no-oaep")
self.restore_parsec_config()
def configure_TS_provider(self):