[OE-core] [pyro][PATCH 1/2] selftest/cases/signing: ignore removal errors when cleaning temporary gpg directory

akuster808 akuster808 at gmail.com
Wed Sep 27 03:05:24 UTC 2017


Leo,


On 09/26/2017 01:04 PM, leonardo.sandoval.gonzalez at linux.intel.com wrote:
> From: Leonardo Sandoval <leonardo.sandoval.gonzalez at linux.intel.com>
>
> 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]
merged to stagging,
Thanks,
Armin
>
> Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez at linux.intel.com>
> ---
>  meta/lib/oeqa/selftest/signing.py | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/meta/lib/oeqa/selftest/signing.py b/meta/lib/oeqa/selftest/signing.py
> index 0ac3d1fac9..38e29305d5 100644
> --- a/meta/lib/oeqa/selftest/signing.py
> +++ b/meta/lib/oeqa/selftest/signing.py
> @@ -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 --batch --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):
>          """




More information about the Openembedded-core mailing list