1/*
2  $Id: test.h,v 1.1.2.1 2010-02-01 10:56:08 franklahm Exp $
3  Copyright (c) 2010 Frank Lahm <franklahm@gmail.com>
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 2 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
16#ifndef TEST_H
17#define TEST_H
18
19#ifdef HAVE_CONFIG_H
20#include "config.h"
21#endif /* HAVE_CONFIG_H */
22
23#include <string.h>
24#include <stdio.h>
25#include <stdlib.h>
26#include <errno.h>
27
28#include <atalk/util.h>
29#include <atalk/cnid.h>
30#include <atalk/logger.h>
31#include <atalk/volume.h>
32#include <atalk/directory.h>
33#include <atalk/queue.h>
34#include <atalk/bstrlib.h>
35#include <atalk/globals.h>
36
37#include "directory.h"
38#include "dircache.h"
39#include "hash.h"
40#include "afp_config.h"
41#include "volume.h"
42#include "subtests.h"
43
44static inline void alignok(int len)
45{
46    int i = 1;
47    if (len < 80)
48        i = 80 - len;
49    while (i--)
50        printf(" ");
51}
52
53#define TEST(a) \
54    printf("Testing: %s ... ", (#a) ); \
55    alignok(strlen(#a));               \
56    a;                                 \
57    printf("[ok]\n");
58
59#define TEST_int(a, b) \
60    printf("Testing: %s ... ", (#a) );            \
61    alignok(strlen(#a));                          \
62    if ((reti = (a)) != b) {                      \
63        printf("[error]\n");                      \
64        exit(1);                                  \
65    } else { printf("[ok]\n"); }
66
67#define TEST_expr(a, b)                              \
68    printf("Testing: %s ... ", (#a) );               \
69    alignok(strlen(#a));                             \
70    a;                                               \
71    if (b) {                                         \
72        printf("[ok]\n");                            \
73    } else {                                         \
74        printf("[error]\n");                         \
75        exit(1);                                     \
76    }
77#endif  /* TEST_H */
78