diff options
Diffstat (limited to 'tests/t-version.c')
-rw-r--r-- | tests/t-version.c | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/tests/t-version.c b/tests/t-version.c index 97d55a9f..2782ca39 100644 --- a/tests/t-version.c +++ b/tests/t-version.c @@ -22,24 +22,71 @@ #include <config.h> #endif +#include <stdio.h> +#include <stdlib.h> #include <string.h> #include <gpgme.h> +static int verbose; +static int debug; + + int main (int argc, char **argv) { + int ret; const char *null_result; const char *current_result; const char *future_result; + int last_argc = -1; + + if (argc) + { + argc--; argv++; + } + while (argc && last_argc != argc ) + { + last_argc = argc; + if (!strcmp (*argv, "--help")) + { + puts ("usage: ./t-version [options]\n" + "\n" + "Options:\n" + " --verbose Show what is going on\n" + ); + exit (0); + } + if (!strcmp (*argv, "--verbose")) + { + verbose = 1; + argc--; argv++; + } + else if (!strcmp (*argv, "--debug")) + { + verbose = debug = 1; + argc--; argv++; + } + } + null_result = gpgme_check_version (NULL); current_result = gpgme_check_version (VERSION); future_result = gpgme_check_version (VERSION ".1"); - return !(null_result - && ! strcmp (null_result, VERSION) - && current_result - && ! strcmp (current_result, VERSION) - && ! future_result); + ret = !(null_result + && ! strcmp (null_result, VERSION) + && current_result + && ! strcmp (current_result, VERSION) + && ! future_result); + + if (verbose || ret) + { + printf ("Version from header: %s (0x%06x)\n", + GPGME_VERSION, GPGME_VERSION_NUMBER); + printf ("Version from binary: %s\n", gpgme_check_version (NULL)); + printf ("Copyright blurb ...:%s\n", gpgme_check_version ("\x01\x01")); + } + + return ret; } |