Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
test.h
Go to the documentation of this file.
1/*
2 TEST.h - support macros for plain-C tests
3
4 Copyright (C)
5 2008, 2010 Christian Thaeter <ct@pipapo.org>
6
7  **Lumiera** is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 2 of the License, or (at your
10  option) any later version. See the file COPYING for further details.
11
12*/
13
24#ifndef LIB_TEST_TEST_H
25#define LIB_TEST_TEST_H
26
27#include <stdio.h>
28#include <stdlib.h>
29#include <string.h>
30#include <nobug.h>
31
32
33
34#define TESTS_BEGIN \
35int \
36main (int argc, const char** argv) \
37{ \
38 NOBUG_INIT; \
39 unsigned testcnt=0; \
40 int ret = 0; \
41 \
42 if (argc == 1) \
43 fprintf (stderr, "supported tests:\n");
44
45#define TEST(name) \
46 if (argc == 1) \
47 fprintf (stderr, " "#name"\n"); \
48 else if (!strcmp(argv[1], #name) && ++testcnt)
49
50#define PLANNED_TEST(name) \
51 if (argc == 1) \
52 fprintf (stderr, " "#name" (planned)\n"); \
53 else if (!++testcnt)
54
55#define TESTS_END \
56 if (!testcnt && argc !=1) \
57 fprintf (stderr,"no such test: %s\n", argv[1]); \
58 return ret; \
59}
60
61
62#endif
63
64/*
65// Local Variables:
66// mode: C
67// c-file-style: "gnu"
68// indent-tabs-mode: nil
69// End:
70*/