diff options
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.py | 25 |
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): |