selftest/cases/signing: ignore removal errors when cleaning temporary gpg directory

The high-level method tempfile.TemporaryDirectory give us no way to
ignore erros on removal thus use tempfile.mkdtemp instead. Ignoring possible issues
on removal is neccesary because it contains gpg sockets that are automatically removed
by the system once the process terminates, otherwise the following log is observed:

  ..
  ..
  File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd
    os.unlink(name, dir_fd=topfd)
  FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser'

[YOCTO #11821]

(From OE-Core rev: e7f139c5d97a3871215c88c5bfc07ecf4e8fd7f3)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Leonardo Sandoval
2017-09-26 12:36:03 -07:00
committed by Richard Purdie
parent a0e04be746
commit 913b20f799

View File

@@ -21,14 +21,17 @@ class Signing(oeSelfTest):
if not shutil.which("gpg"):
raise AssertionError("This test needs GnuPG")
cls.gpg_home_dir = tempfile.TemporaryDirectory(prefix="oeqa-signing-")
cls.gpg_dir = cls.gpg_home_dir.name
cls.gpg_dir = tempfile.mkdtemp(prefix="oeqa-signing-")
cls.pub_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.pub")
cls.secret_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.secret")
runCmd('gpg --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path))
@classmethod
def tearDownClass(cls):
shutil.rmtree(cls.gpg_dir, ignore_errors=True)
@testcase(1362)
def test_signing_packages(self):
"""