[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7901/8267] selftest/cases/runtime_test: ignore removal errors when cleaning temporary gpg directory



commit 6550d66de338ed34de536e8c79ef66135cc88317
Author: Leonardo Sandoval <leonardo sandoval gonzalez linux intel com>
Date:   Mon Sep 25 14:02:46 2017 -0700

    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>

 meta/lib/oeqa/selftest/cases/runtime_test.py |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index 673b199..7d105f2 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):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]