diff options
| author | Marcus Brinkmann <[email protected]> | 2003-04-27 18:25:07 +0000 | 
|---|---|---|
| committer | Marcus Brinkmann <[email protected]> | 2003-04-27 18:25:07 +0000 | 
| commit | 88f6eaea9e90ef847d499ff6f55a8ebfd70ec20d (patch) | |
| tree | 72af60975e1ba8d48a08341f9c67aea225aede1e | |
| parent | doc/ (diff) | |
| download | gpgme-88f6eaea9e90ef847d499ff6f55a8ebfd70ec20d.tar.gz gpgme-88f6eaea9e90ef847d499ff6f55a8ebfd70ec20d.zip | |
2003-04-27  Marcus Brinkmann  <[email protected]>
	* gpg/t-import.c (check_result): Really use FPR.
	* gpgsm/t-import.c (check_result): Rewritten.
Diffstat (limited to '')
| -rw-r--r-- | tests/ChangeLog | 5 | ||||
| -rw-r--r-- | tests/gpg/t-import.c | 2 | ||||
| -rw-r--r-- | tests/gpgsm/t-import.c | 202 | 
3 files changed, 148 insertions, 61 deletions
| diff --git a/tests/ChangeLog b/tests/ChangeLog index 6a60abb8..357c12ff 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2003-04-27  Marcus Brinkmann  <[email protected]> + +	* gpg/t-import.c (check_result): Really use FPR. +	* gpgsm/t-import.c (check_result): Rewritten. +  2003-04-25  Marcus Brinkmann  <[email protected]>  	* gpg/t-import.c: Rewritten. diff --git a/tests/gpg/t-import.c b/tests/gpg/t-import.c index 13d1f39c..57bfcd15 100644 --- a/tests/gpg/t-import.c +++ b/tests/gpg/t-import.c @@ -151,7 +151,7 @@ check_result (GpgmeImportResult result, char *fpr, int secret)        fprintf (stderr, "Unexpected number of status reports\n");        exit (1);      } -  if (strcmp ("ADAB7FCC1F4DE2616ECFA402AF82244F9CD9FD55", result->imports->fpr)) +  if (strcmp (fpr, result->imports->fpr))      {        fprintf (stderr, "Unexpected fingerprint %s\n",  	       result->imports->fpr); diff --git a/tests/gpgsm/t-import.c b/tests/gpgsm/t-import.c index 974cdd93..125e87fd 100644 --- a/tests/gpgsm/t-import.c +++ b/tests/gpgsm/t-import.c @@ -1,40 +1,44 @@  /* t-import.c  - regression test - *      Copyright (C) 2000 Werner Koch - *      Copyright (C) 2001 g10 Code GmbH - * - * This file is part of GPGME. - * - * GPGME is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * GPGME is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - */ +   Copyright (C) 2000 Werner Koch (dd9jn) +   Copyright (C) 2001, 2003 g10 Code GmbH + +   This file is part of GPGME. +  +   GPGME is free software; you can redistribute it and/or modify it +   under the terms of the GNU General Public License as published by +   the Free Software Foundation; either version 2 of the License, or +   (at your option) any later version. +  +   GPGME is distributed in the hope that it will be useful, but +   WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +   General Public License for more details. +  +   You should have received a copy of the GNU General Public License +   along with GPGME; if not, write to the Free Software Foundation, +   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */ -#include <stdio.h>  #include <stdlib.h> +#include <stdio.h>  #include <string.h> -#include <assert.h>  #include <errno.h>  #include <gpgme.h> -#define fail_if_err(a) do { if(a) { int my_errno = errno; \ -            fprintf (stderr, "%s:%d: GpgmeError %s\n", \ -                 __FILE__, __LINE__, gpgme_strerror(a));   \ -            if ((a) == GPGME_File_Error)                       \ -                   fprintf (stderr, "\terrno=`%s'\n", strerror (my_errno)); \ -                   exit (1); }                               \ -                             } while(0) +#define fail_if_err(err)					\ +  do								\ +    {								\ +      if (err)							\ +        {							\ +          fprintf (stderr, "%s:%d: GpgmeError %s\n",		\ +                   __FILE__, __LINE__, gpgme_strerror (err));   \ +          exit (1);						\ +        }							\ +    }								\ +  while (0) + +  static char *  make_filename (const char *fname) @@ -44,7 +48,7 @@ make_filename (const char *fname)    if (!srcdir)      srcdir = "."; -  buf = malloc (strlen(srcdir) + strlen(fname) + 2 ); +  buf = malloc (strlen(srcdir) + strlen(fname) + 2);    if (!buf)      {        fprintf (stderr, "%s:%d: could not allocate string: %s\n", @@ -57,16 +61,93 @@ make_filename (const char *fname)    return buf;  } -static void -print_op_info (GpgmeCtx c) -{ -    char *s = gpgme_get_op_info (c, 0); -    if (!s) -        puts ("<!-- no operation info available -->"); -    else { -        puts (s); -        free (s); +void +check_result (GpgmeImportResult result, char *fpr, int total) +{ +  if (result->considered != total) +    { +      fprintf (stderr, "Unexpected number of considered keys %i\n", +	       result->considered); +      exit (1); +    } +  if (result->no_user_id != 0) +    { +      fprintf (stderr, "Unexpected number of user ids %i\n", +	       result->no_user_id); +      exit (1); +    } +  if (result->imported != 0 && result->imported != 1) +    { +      fprintf (stderr, "Unexpected number of imported keys %i\n", +	       result->imported); +      exit (1); +    } +  if (result->imported_rsa != 0) +    { +      fprintf (stderr, "Unexpected number of imported RSA keys %i\n", +	       result->imported_rsa); +      exit (1); +    } +  if ((result->imported == 0 && result->unchanged != total) +      || (result->imported == 1 && result->unchanged != total - 1)) +    { +      fprintf (stderr, "Unexpected number of unchanged keys %i\n", +	       result->unchanged); +      exit (1); +    } +  if (result->new_user_ids != 0) +    { +      fprintf (stderr, "Unexpected number of new user IDs %i\n", +	       result->new_user_ids); +      exit (1); +    } +  if (result->new_sub_keys != 0) +    { +      fprintf (stderr, "Unexpected number of new sub keys %i\n", +	       result->new_sub_keys); +      exit (1); +    } +  if (result->new_signatures != 0) +    { +      fprintf (stderr, "Unexpected number of new signatures %i\n", +	       result->new_signatures); +      exit (1); +    } +  if (result->new_revocations != 0) +    { +      fprintf (stderr, "Unexpected number of new revocations %i\n", +	       result->new_revocations); +      exit (1); +    } +  if (result->secret_read != 0) +    { +      fprintf (stderr, "Unexpected number of secret keys read %i\n", +	       result->secret_read); +      exit (1); +    } +  if (result->secret_imported != 0) +    { +      fprintf (stderr, "Unexpected number of secret keys imported %i\n", +	       result->secret_imported); +      exit (1); +    } +  if (result->secret_unchanged != 0) +    { +      fprintf (stderr, "Unexpected number of secret keys unchanged %i\n", +	       result->secret_unchanged); +      exit (1); +    } +  if (result->not_imported != 0) +    { +      fprintf (stderr, "Unexpected number of secret keys not imported %i\n", +	       result->not_imported); +      exit (1); +    } +  if (result->imports) +    { +      fprintf (stderr, "Unexpected number of status reports\n"); +      exit (1);      }  } @@ -77,35 +158,36 @@ main (int argc, char **argv)    GpgmeCtx ctx;    GpgmeError err;    GpgmeData in; +  GpgmeImportResult result;    const char *cert_1 = make_filename ("cert_dfn_pca01.der");    const char *cert_2 = make_filename ("cert_dfn_pca15.der"); -  do -    { -      err = gpgme_new (&ctx); -      fail_if_err (err); -      gpgme_set_protocol (ctx, GPGME_PROTOCOL_CMS); +  err = gpgme_engine_check_version (GPGME_PROTOCOL_CMS); +  fail_if_err (err); -      err = gpgme_data_new_from_file (&in, cert_1, 1); -      fail_if_err (err); +  err = gpgme_new (&ctx); +  fail_if_err (err); +   +  gpgme_set_protocol (ctx, GPGME_PROTOCOL_CMS); -      err = gpgme_op_import (ctx, in); -      print_op_info (ctx); -      fail_if_err (err); +  err = gpgme_data_new_from_file (&in, cert_1, 1); +  fail_if_err (err); -      gpgme_data_release (in); +  err = gpgme_op_import (ctx, in); +  fail_if_err (err); +  result = gpgme_op_import_result (ctx); +  check_result (result, "DFA56FB5FC41E3A8921F77AD1622EEFD9152A5AD", 1); +  gpgme_data_release (in); -      err = gpgme_data_new_from_file (&in, cert_2, 1); -      fail_if_err (err); -     -      err = gpgme_op_import (ctx, in); -      print_op_info (ctx); -      fail_if_err (err); +  err = gpgme_data_new_from_file (&in, cert_2, 1); +  fail_if_err (err); -      gpgme_data_release (in); -      gpgme_release (ctx); -    } -  while (argc > 1 && !strcmp (argv[1], "--loop")); -    +  err = gpgme_op_import (ctx, in); +  fail_if_err (err); +  result = gpgme_op_import_result (ctx); +  check_result (result, "2C8F3C356AB761CB3674835B792CDA52937F9285", 2); +  gpgme_data_release (in); + +  gpgme_release (ctx);    return 0;  } | 
