From 6550d66de338ed34de536e8c79ef66135cc88317 Mon Sep 17 00:00:00 2001 From: Leonardo Sandoval Date: Mon, 25 Sep 2017 14:02:46 -0700 Subject: 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 Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/runtime_test.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'meta') diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 673b1998ac..7d105f2fed 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -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): -- cgit v1.2.3-54-g00ecf