summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oeqa/selftest/cases/signing.py23
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