diff options
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/signing.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index a130ac96cf..97e9cfd44d 100644 --- a/meta/lib/oeqa/selftest/cases/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py | |||
| @@ -15,23 +15,18 @@ class Signing(OESelftestTestCase): | |||
| 15 | pub_key_path = "" | 15 | pub_key_path = "" |
| 16 | secret_key_path = "" | 16 | secret_key_path = "" |
| 17 | 17 | ||
| 18 | @classmethod | 18 | def setup_gpg(self): |
| 19 | def setUpClass(cls): | ||
| 20 | super(Signing, cls).setUpClass() | ||
| 21 | # Check that we can find the gpg binary and fail early if we can't | 19 | # Check that we can find the gpg binary and fail early if we can't |
| 22 | if not shutil.which("gpg"): | 20 | if not shutil.which("gpg"): |
| 23 | raise AssertionError("This test needs GnuPG") | 21 | self.skipTest('gpg binary not found') |
| 24 | 22 | ||
| 25 | cls.gpg_dir = tempfile.mkdtemp(prefix="oeqa-signing-") | 23 | self.gpg_dir = tempfile.mkdtemp(prefix="oeqa-signing-") |
| 24 | self.track_for_cleanup(self.gpg_dir) | ||
| 26 | 25 | ||
| 27 | cls.pub_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.pub") | 26 | self.pub_key_path = os.path.join(self.testlayer_path, 'files', 'signing', "key.pub") |
| 28 | cls.secret_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.secret") | 27 | self.secret_key_path = os.path.join(self.testlayer_path, 'files', 'signing', "key.secret") |
| 29 | 28 | ||
| 30 | runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) | 29 | runCmd('gpg --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path)) |
| 31 | |||
| 32 | @classmethod | ||
| 33 | def tearDownClass(cls): | ||
| 34 | shutil.rmtree(cls.gpg_dir, ignore_errors=True) | ||
| 35 | 30 | ||
| 36 | @OETestID(1362) | 31 | @OETestID(1362) |
| 37 | def test_signing_packages(self): | 32 | def test_signing_packages(self): |
| @@ -46,6 +41,8 @@ class Signing(OESelftestTestCase): | |||
| 46 | """ | 41 | """ |
| 47 | import oe.packagedata | 42 | import oe.packagedata |
| 48 | 43 | ||
| 44 | self.setup_gpg() | ||
| 45 | |||
| 49 | package_classes = get_bb_var('PACKAGE_CLASSES') | 46 | package_classes = get_bb_var('PACKAGE_CLASSES') |
| 50 | if 'package_rpm' not in package_classes: | 47 | if 'package_rpm' not in package_classes: |
| 51 | self.skipTest('This test requires RPM Packaging.') | 48 | self.skipTest('This test requires RPM Packaging.') |
| @@ -111,6 +108,8 @@ class Signing(OESelftestTestCase): | |||
| 111 | builddir = os.environ.get('BUILDDIR') | 108 | builddir = os.environ.get('BUILDDIR') |
| 112 | sstatedir = os.path.join(builddir, 'test-sstate') | 109 | sstatedir = os.path.join(builddir, 'test-sstate') |
| 113 | 110 | ||
| 111 | self.setup_gpg() | ||
| 112 | |||
| 114 | self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) | 113 | self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) |
| 115 | self.add_command_to_tearDown('rm -rf %s' % sstatedir) | 114 | self.add_command_to_tearDown('rm -rf %s' % sstatedir) |
| 116 | 115 | ||
