aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gpg/t-support.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/gpg/t-support.h')
-rw-r--r--tests/gpg/t-support.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/gpg/t-support.h b/tests/gpg/t-support.h
index ae70cecc..40b03b7f 100644
--- a/tests/gpg/t-support.h
+++ b/tests/gpg/t-support.h
@@ -19,19 +19,21 @@
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
+#include <gpgme.h>
+#include <gpg-error.h>
+
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include <locale.h>
#include <limits.h>
#include <ctype.h>
+#include <string.h>
#ifdef HAVE_W32_SYSTEM
#include <windows.h>
#endif
-#include <gpgme.h>
-
#ifndef PGM
#define PGM "unknown program; define PGM before including t-support.h"
#endif
@@ -271,3 +273,21 @@ print_import_result (gpgme_import_result_t r)
r->not_imported,
r->skipped_v3_keys);
}
+
+
+/* Return true if the gpg engine's version is at least REQ_VERSION. */
+int
+have_gpg_version (const char *req_version)
+{
+ gpgme_engine_info_t engine_info;
+ init_gpgme (GPGME_PROTOCOL_OpenPGP);
+
+ fail_if_err (gpgme_get_engine_info (&engine_info));
+ for (; engine_info; engine_info = engine_info->next)
+ if (engine_info->protocol == GPGME_PROTOCOL_OpenPGP)
+ break;
+
+ test (engine_info);
+
+ return gpgrt_cmp_version (engine_info->version, req_version, 3) >= 0;
+}