source: vendor/grep/2.12/gnulib-tests/test-verify.c

Last change on this file was 2595, checked in by bird, 13 years ago

gnu grep version 2.12 (grep-2.12.tar.xz, md5sum=8d2f0346d08b13c18afb81f0e8aa1e2f)

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