python: Make EXTRA_DIST files explicit
[gpgme.git] / tests / t-data.c
index 888475f..ea70f04 100644 (file)
@@ -1,22 +1,22 @@
 /* t-data - Regression tests for the gpgme_data_t abstraction.
  Copyright (C) 2001, 2004 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, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  02111-1307, USA.  */
* Copyright (C) 2001, 2004 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 <https://gnu.org/licenses/>.
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ */
 
 /* We need to include config.h so that we know whether we are building
    with large file system (LFS) support. */
 #include <string.h>
 #include <errno.h>
 
-#include <gpgme.h>
+#define PGM "t-data"
+#include "run-support.h"
 
+#undef fail_if_err
 #define fail_if_err(a) do { if(a) {                                          \
                                fprintf (stderr, "%s:%d: (%i) gpgme_error_t " \
                                 "%s\n", __FILE__, __LINE__, round,           \
                                 exit (1); }                                  \
                              } while(0)
 
-static char *
-make_filename (const char *fname)
-{
-  const char *srcdir = getenv ("srcdir");
-  char *buf;
-
-  if (!srcdir)
-    srcdir = ".";
-  buf = malloc (strlen(srcdir) + strlen(fname) + 2 );
-  if (!buf)
-    {
-      fprintf (stderr, "%s:%d: could not allocate string: %s\n",
-              __FILE__, __LINE__, strerror (errno));
-      exit (1);
-    }
-  strcpy (buf, srcdir);
-  strcat (buf, "/");
-  strcat (buf, fname);
-  return buf;
-}
-
 typedef enum
   {
     TEST_INITIALIZER,
@@ -86,6 +67,8 @@ read_cb (void *cb_value, char *buffer, size_t count, size_t *nread)
   unsigned int amount = strlen (text) - off;
   /*  round_t round = *((round_t *) cb_value);  */
 
+  (void)cb_value;
+
   if (!buffer && !count && !nread)
     {
       /* Rewind requested.  */
@@ -143,7 +126,7 @@ read_test (round_t round, gpgme_data_t data)
       read = gpgme_data_read (data, buffer, sizeof (buffer));
       if (read > 0)
        {
-         fprintf (stderr, "%s:%d: (%i) gpgme_data_read succeded unexpectedly\n",
+         fprintf (stderr, "%s:%d: (%i) gpgme_data_read succeeded unexpectedly\n",
                   __FILE__, __LINE__, round);
          exit (1);
        }
@@ -190,16 +173,19 @@ write_test (round_t round, gpgme_data_t data)
     }
 }
 
+
 int
-main (int argc, char **argv)
+main (void)
 {
   round_t round = TEST_INITIALIZER;
-  const char *text_filename = make_filename ("t-data-1.txt");
-  const char *longer_text_filename = make_filename ("t-data-2.txt");
+  char *text_filename = make_filename ("t-data-1.txt");
+  char *longer_text_filename = make_filename ("t-data-2.txt");
   const char *missing_filename = "this-file-surely-does-not-exist";
   gpgme_error_t err = 0;
   gpgme_data_t data;
 
+  init_gpgme_basic ();
+
   while (++round)
     {
       switch (round)
@@ -269,7 +255,7 @@ main (int argc, char **argv)
          }
          break;
        case TEST_END:
-         return 0;
+         goto out;
        case TEST_INITIALIZER:
          /* Shouldn't happen.  */
          fprintf (stderr, "%s:%d: impossible condition\n", __FILE__, __LINE__);
@@ -281,5 +267,8 @@ main (int argc, char **argv)
       write_test (round, data);
       gpgme_data_release (data);
     }
+ out:
+  free (text_filename);
+  free (longer_text_filename);
   return 0;
 }