2 * This file is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2,
4 * as published by the Free Software Foundation.
6 * In addition to the permissions in the GNU General Public License,
7 * the authors give you unlimited permission to link the compiled
8 * version of this file into combinations with other programs,
9 * and to distribute those combinations without any restriction
10 * coming from the use of this file. (The General Public License
11 * restrictions do apply in other respects; for example, they cover
12 * modification of the file, and distribution when not linked into
13 * a combined executable.)
15 * This file is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; see the file COPYING. If not, write to
22 * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
23 * Boston, MA 02110-1301, USA.
34 struct test_info
*next
;
35 const char *test_name
;
36 const char *file_name
;
40 static int first_test
= 1;
41 static struct test_info
*current_test
;
43 static void show_test_result(const char *status
)
45 fprintf(stderr
, "* %-6s %5d: %s\n",
47 current_test
->line_no
,
48 current_test
->test_name
);
51 void test_die(const char *fmt
, ...)
56 show_test_result("FAILED");
59 vfprintf(stderr
, fmt
, p
);
67 const char *test_name
,
68 const char *file_name
,
71 struct test_info
*i
= malloc(sizeof(*i
));
73 test_die("cannot malloc memory");
75 i
->test_name
= test_name
;
76 i
->file_name
= file_name
;
81 const char *name
= strrchr(i
->file_name
, '/');
86 fprintf(stderr
, "*** %s ***\n", name
);
94 test_die("BEGIN_TEST() not used before END_TEST");
96 show_test_result("ok");