tests: Add pspp-convert.at to Git.
[pspp.git] / src / libpspp / assertion.h
blob237710813d52ffaa1237f17e55ddbf981e0429e8
1 /* PSPP - a program for statistical analysis.
2 Copyright (C) 2006 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 #ifndef __PSPP_ASSERT_H
18 #define __PSPP_ASSERT_H
20 #include <stdlib.h>
21 #include "compiler.h"
23 #define NOT_REACHED() do { assert (0); abort (); } while (0)
25 #endif
27 #include <assert.h>
29 #ifndef ASSERT_LEVEL
30 #define ASSERT_LEVEL 2
31 #endif
33 #undef expensive_assert
34 #if ASSERT_LEVEL >= 5
35 #define expensive_assert(EXPR) assert (EXPR)
36 #else
37 #define expensive_assert(EXPR) ((void) 0)
38 #endif
41 #define testing_assert(EXPR) do {if (settings_get_testing_mode ()) assert (EXPR); } while (0);