1 /* t-support.h - Helper for the regression tests
2 * Copyright (C) 2007 Free Software Foundation, Inc.
4 * This file is part of GnuPG.
6 * GnuPG is free software; you can redistribute it and/or modify it
7 * under the terms of either
9 * - the GNU Lesser General Public License as published by the Free
10 * Software Foundation; either version 3 of the License, or (at
11 * your option) any later version.
15 * - the GNU General Public License as published by the Free
16 * Software Foundation; either version 2 of the License, or (at
17 * your option) any later version.
19 * or both in parallel, as here.
21 * GnuPG is distributed in the hope that it will be useful, but
22 * WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * General Public License for more details.
26 * You should have received a copies of the GNU General Public License
27 * and the GNU Lesser General Public License along with this program;
28 * if not, see <https://www.gnu.org/licenses/>.
31 #ifndef GNUPG_COMMON_T_SUPPORT_H
32 #define GNUPG_COMMON_T_SUPPORT_H 1
35 #error The regression tests should not include with gcrypt.h
41 #include <gpg-error.h>
45 # define getenv(a) (NULL)
49 # define DIM(v) (sizeof(v)/sizeof((v)[0]))
50 # define DIMof(type,member) DIM(((type *)0)->member)
54 /* Replacement prototypes. */
55 void *gcry_xmalloc (size_t n);
56 void *gcry_xcalloc (size_t n, size_t m);
57 void *gcry_xrealloc (void *a, size_t n);
58 char *gcry_xstrdup (const char * a);
59 void gcry_free (void *a);
61 /* Map the used xmalloc functions to those implemented by t-support.c */
62 #define xmalloc(a) gcry_xmalloc ( (a) )
63 #define xcalloc(a,b) gcry_xcalloc ( (a), (b) )
64 #define xrealloc(a,n) gcry_xrealloc ( (a), (n) )
65 #define xstrdup(a) gcry_xstrdup ( (a) )
66 #define xfree(a) gcry_free ( (a) )
69 /* Macros to print the result of a test. */
70 #define pass() do { ; } while(0)
71 #define fail(a) do { fprintf (stderr, "%s:%d: test %d failed\n",\
72 __FILE__,__LINE__, (a)); \
74 if (!no_exit_on_fail) \
78 /* If this flag is set the fail macro does not call exit. */
79 static int no_exit_on_fail;
84 #endif /*GNUPG_COMMON_T_SUPPORT_H*/