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@g10code.com>
This commit is contained in:
parent
a827382caf
commit
979d48e823
@ -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.
|
||||
|
@ -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))]:
|
||||
|
Loading…
Reference in New Issue
Block a user