core: Parse skipped_v3_keys
[gpgme.git] / tests / run-support.h
index db7b7d5..6c713a9 100644 (file)
@@ -3,19 +3,19 @@
    Copyright (C) 2001, 2002, 2003, 2004, 2009 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 Lesser General Public License as
    published by the Free Software Foundation; either version 2.1 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
    Lesser General Public License for more details.
-   
+
    You should have received a copy of the GNU Lesser General Public
-   License along with this program; if not, see <http://www.gnu.org/licenses/>.
+   License along with this program; if not, see <https://www.gnu.org/licenses/>.
 */
 
 #include <unistd.h>
@@ -60,7 +60,7 @@ print_data (gpgme_data_t dh)
 #define BUF_SIZE 512
   char buf[BUF_SIZE + 1];
   int ret;
-  
+
   ret = gpgme_data_seek (dh, 0, SEEK_SET);
   if (ret)
     fail_if_err (gpgme_err_code_from_errno (errno));
@@ -75,27 +75,25 @@ gpgme_error_t
 passphrase_cb (void *opaque, const char *uid_hint, const char *passphrase_info,
               int last_was_bad, int fd)
 {
-#ifdef HAVE_W32_SYSTEM
-  DWORD written;
-  WriteFile ((HANDLE) fd, "abc\n", 4, &written, 0);
-#else
   int res;
-  char *pass = "abc\n";
+  char pass[] = "abc\n";
   int passlen = strlen (pass);
   int off = 0;
 
+  (void)opaque;
+  (void)uid_hint;
+  (void)passphrase_info;
+  (void)last_was_bad;
+
   do
     {
-      res = write (fd, &pass[off], passlen - off);
+      res = gpgme_io_write (fd, &pass[off], passlen - off);
       if (res > 0)
        off += res;
     }
   while (res > 0 && off != passlen);
 
   return off == passlen ? 0 : gpgme_error_from_errno (errno);
-#endif
-
-  return 0;
 }
 
 
@@ -108,8 +106,12 @@ make_filename (const char *fname)
   if (!srcdir)
     srcdir = ".";
   buf = malloc (strlen(srcdir) + strlen(fname) + 2);
-  if (!buf) 
-    exit (8);
+  if (!buf)
+    {
+      fprintf (stderr, "%s:%d: could not allocate string: %s\n",
+              __FILE__, __LINE__, strerror (errno));
+      exit (8);
+    }
   strcpy (buf, srcdir);
   strcat (buf, "/");
   strcat (buf, fname);
@@ -118,17 +120,23 @@ make_filename (const char *fname)
 
 
 void
-init_gpgme (gpgme_protocol_t proto)
+init_gpgme_basic (void)
 {
-  gpgme_error_t err;
-
   gpgme_check_version (NULL);
   setlocale (LC_ALL, "");
   gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
 #ifndef HAVE_W32_SYSTEM
   gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
 #endif
+}
+
+
+void
+init_gpgme (gpgme_protocol_t proto)
+{
+  gpg_error_t err;
 
+  init_gpgme_basic ();
   err = gpgme_engine_check_version (proto);
   fail_if_err (err);
 }
@@ -169,7 +177,8 @@ print_import_result (gpgme_import_result_t r)
           "   secret imported: %d\n"
           "  secret unchanged: %d\n"
           "  skipped new keys: %d\n"
-          "      not imported: %d\n",
+          "      not imported: %d\n"
+          "   skipped v3 keys: %d\n",
           r->considered,
           r->no_user_id,
           r->imported,
@@ -183,6 +192,7 @@ print_import_result (gpgme_import_result_t r)
           r->secret_imported,
           r->secret_unchanged,
           r->skipped_new_keys,
-          r->not_imported);
+          r->not_imported,
+          r->skipped_v3_keys);
 }