1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-07 03:04:04 +00:00

selftest/cases/runtime_test: 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'

This is the same fix as 7e3a7cd2426feac757def81850dc44156cd0f33e, but this applies
to runtime (instead of signing).

[YOCTO #11821]

(From OE-Core rev: f28e8131f69913ff90ed210c7a58726d3ef37db6)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Leonardo Sandoval
2017-09-25 14:02:46 -07:00
committed by Richard Purdie
parent 043d9ac0ae
commit 6550d66de3
+7 -3
View File
@@ -4,6 +4,7 @@ from oeqa.core.decorator.oeid import OETestID
import os
import re
import tempfile
import shutil
class TestExport(OESelftestTestCase):
@@ -147,19 +148,22 @@ class TestImage(OESelftestTestCase):
features += 'PACKAGE_CLASSES = "package_rpm"\n'
# Enable package feed signing
self.gpg_home = tempfile.TemporaryDirectory(prefix="oeqa-feed-sign-")
self.gpg_home = tempfile.mkdtemp(prefix="oeqa-feed-sign-")
signing_key_dir = os.path.join(self.testlayer_path, 'files', 'signing')
runCmd('gpg --batch --homedir %s --import %s' % (self.gpg_home.name, os.path.join(signing_key_dir, 'key.secret')))
runCmd('gpg --batch --homedir %s --import %s' % (self.gpg_home, os.path.join(signing_key_dir, 'key.secret')))
features += 'INHERIT += "sign_package_feed"\n'
features += 'PACKAGE_FEED_GPG_NAME = "testuser"\n'
features += 'PACKAGE_FEED_GPG_PASSPHRASE_FILE = "%s"\n' % os.path.join(signing_key_dir, 'key.passphrase')
features += 'GPG_PATH = "%s"\n' % self.gpg_home.name
features += 'GPG_PATH = "%s"\n' % self.gpg_home
self.write_config(features)
# Build core-image-sato and testimage
bitbake('core-image-full-cmdline socat')
bitbake('-c testimage core-image-full-cmdline')
# remove the oeqa-feed-sign temporal directory
shutil.rmtree(self.gpg_home, ignore_errors=True)
class Postinst(OESelftestTestCase):
@OETestID(1540)
def test_verify_postinst(self):