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))))
|
c.engine_info.version, '.'.join(map(str, version))))
|
||||||
sys.exit(77)
|
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
|
# 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
|
# understand the command line flags that we assume exist. C.f. issue
|
||||||
# 3008.
|
# 3008.
|
||||||
|
@ -22,6 +22,7 @@ del absolute_import, print_function, unicode_literals
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import gpg
|
import gpg
|
||||||
|
import sys
|
||||||
|
|
||||||
import support
|
import support
|
||||||
support.assert_gpg_version((2, 1, 14))
|
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:
|
with open(os.path.join(ctx.home_dir, "gpg.conf"), "a") as handle:
|
||||||
handle.write("trust-model tofu+pgp\n")
|
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, policy in [(name, getattr(gpg.constants.tofu.policy, name))
|
||||||
for name in filter(lambda x: not x.startswith('__'),
|
for name in filter(lambda x: not x.startswith('__'),
|
||||||
dir(gpg.constants.tofu.policy))]:
|
dir(gpg.constants.tofu.policy))]:
|
||||||
|
Loading…
Reference in New Issue
Block a user