[Pkg-gnupg-commit] [gpgme] 26/103: python: Skip TOFU test if not supported by GnuPG.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Dec 14 18:53:00 UTC 2017


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch master
in repository gpgme.

commit 979d48e823357af9999a2adb34d75adaade8dec2
Author: Justus Winter <justus at g10code.com>
Date:   Tue Apr 11 12:07:59 2017 +0200

    python: Skip TOFU test if not supported by GnuPG.
    
    * lang/python/tests/support.py (have_tofu_support): New function.
    * lang/python/tests/t-quick-key-manipulation.py: Skip TOFU test if not
    supported by GnuPG.
    
    Signed-off-by: Justus Winter <justus at g10code.com>
---
 lang/python/tests/support.py                  | 6 ++++++
 lang/python/tests/t-quick-key-manipulation.py | 5 +++++
 2 files changed, 11 insertions(+)

diff --git a/lang/python/tests/support.py b/lang/python/tests/support.py
index fabd818..efccf31 100644
--- a/lang/python/tests/support.py
+++ b/lang/python/tests/support.py
@@ -35,6 +35,12 @@ def assert_gpg_version(version=(2, 1, 0)):
                 c.engine_info.version, '.'.join(map(str, version))))
             sys.exit(77)
 
+def have_tofu_support(ctx, some_uid):
+    keys = list(ctx.keylist(some_uid,
+                            mode=(gpg.constants.keylist.mode.LOCAL
+                                  |gpg.constants.keylist.mode.WITH_TOFU)))
+    return len(keys) > 0
+
 # Skip the Python tests for GnuPG < 2.1.12.  Prior versions do not
 # understand the command line flags that we assume exist.  C.f. issue
 # 3008.
diff --git a/lang/python/tests/t-quick-key-manipulation.py b/lang/python/tests/t-quick-key-manipulation.py
index 0f47006..37e05b3 100755
--- a/lang/python/tests/t-quick-key-manipulation.py
+++ b/lang/python/tests/t-quick-key-manipulation.py
@@ -22,6 +22,7 @@ del absolute_import, print_function, unicode_literals
 
 import os
 import gpg
+import sys
 
 import support
 support.assert_gpg_version((2, 1, 14))
@@ -97,6 +98,10 @@ with support.EphemeralContext() as ctx:
     with open(os.path.join(ctx.home_dir, "gpg.conf"), "a") as handle:
         handle.write("trust-model tofu+pgp\n")
 
+    if not support.have_tofu_support(ctx, bravo):
+        print("GnuPG does not support TOFU, skipping TOFU tests.")
+        sys.exit()
+
     for name, policy in [(name, getattr(gpg.constants.tofu.policy, name))
                          for name in filter(lambda x: not x.startswith('__'),
                                             dir(gpg.constants.tofu.policy))]:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git



More information about the Pkg-gnupg-commit mailing list