a86a52d6825f60c49edbdcb6be6fd7179b385d82
[platform/upstream/diffutils.git] / gnulib-tests / test-verify.c
1 /* -*- buffer-read-only: t -*- vi: set ro: */
2 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3 /* Test the "verify" module.
4
5    Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
6
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20 /* Written by Bruno Haible.  */
21
22 #include <config.h>
23
24 #include "verify.h"
25
26 #ifndef EXP_FAIL
27 # define EXP_FAIL 0
28 #endif
29
30 int x;
31 enum { a, b, c };
32
33 #if EXP_FAIL == 1
34 verify (x >= 0);                  /* should give ERROR: non-constant expression */
35 #endif
36 verify (c == 2);                  /* should be ok */
37 #if EXP_FAIL == 2
38 verify (1 + 1 == 3);              /* should give ERROR */
39 #endif
40 verify (1 == 1); verify (1 == 1); /* should be ok */
41
42 enum
43 {
44   item = verify_true (1 == 1) * 0 + 17 /* should be ok */
45 };
46
47 static int
48 function (int n)
49 {
50 #if EXP_FAIL == 3
51   verify (n >= 0);                  /* should give ERROR: non-constant expression */
52 #endif
53   verify (c == 2);                  /* should be ok */
54 #if EXP_FAIL == 4
55   verify (1 + 1 == 3);              /* should give ERROR */
56 #endif
57   verify (1 == 1); verify (1 == 1); /* should be ok */
58
59   if (n)
60     return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */
61 #if EXP_FAIL == 5
62   return verify_expr (1 == 2, 5); /* should give ERROR */
63 #endif
64   return 0;
65 }
66
67 int
68 main (void)
69 {
70   return !(function (0) == 0 && function (1) == 8);
71 }