netatalk: testhelper.h Source File

netatalk 4.5.1
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
testhelper.h
Go to the documentation of this file.
1/* -------------------------------- */
2#ifndef TESTHELPER_H
3#define TESTHELPER_H
4
5/* Macros */
6#define FAIL(a) \
7 if ((a)) { \
8 if (!Quiet) { \
9 if (Color) { \
10 fprintf(stdout, ANSI_BRED"[%s:%d] " #a "\n" ANSI_NORMAL, __FILE__, __LINE__);\
11 } else {\
12 fprintf(stdout, "[%s:%d] " #a "\n", __FILE__, __LINE__); \
13 } \
14 } \
15 test_failed(); \
16 }
17
18#define FAILEXIT(a, label) if ((a)) { test_failed(); goto label;}
19#define STATIC
20
21#define ENTER_TESTSET \
22 fprintf(stdout,"===================\n"); \
23 fprintf(stdout,"Executing testset: %s\n", __func__); \
24
25#define ENTER_TEST \
26 if (!Quiet) { \
27 fprintf(stdout, "############## entering %s ##############\n", __func__); \
28 } \
29 enter_test(); \
30
31/* Skipped test status codes */
32#define T_CONN2 1
33#define T_PATH 2
34#define T_AFP3 3
35#define T_AFP3_CONN2 4
36#if 0
37#define T_MAC_PATH 5
38#endif
39#define T_UNIX_PREV 6
40#define T_UTF8 7
41#define T_VOL2 8
42#if 0
43#define T_LOCKING 9
44#endif
45#define T_VOL_SMALL 10
46#define T_ID 11
47#define T_AFP2 12
48#define T_MAC 13
49#define T_ACL 14
50#define T_EA 15
51#define T_UNIX_GROUP 16
52#define T_ADEA 17
53#define T_NOSYML 18
54#define T_ADV2 19
55#define T_AFP30 20
56#define T_NO_UNIX_PREV 21
57#define T_SINGLE 22
58#define T_VOL_BIG 23
59#if 0
60#define T_EXCLUDE 24
61#endif
62#define T_MANUAL 25
63#define T_AFP31 26
64#define T_AFP32 27
65#define T_NONDETERM 28
66#if 0
67#define T_BIGENDIAN 29
68#endif
69#define T_CRED 30
70#define T_LOCALHOST 31
71#define T_V2CONV 32
72#define T_EXTMAP 33
73
74/* Define ansi colors */
75#define ANSI_RED "\033[0;31m"
76#define ANSI_GREEN "\033[0;32m"
77#define ANSI_YELLOW "\033[0;33m"
78#define ANSI_BLUE "\033[0;34m"
79#define ANSI_MAGENTA "\033[0;35m"
80#define ANSI_CYAN "\033[0;36m"
81#define ANSI_GREY "\033[0;37m"
82#define ANSI_DARKGREY "\033[01;30m"
83#define ANSI_BRED "\033[01;31m"
84#define ANSI_BGREEN "\033[01;32m"
85#define ANSI_BYELLOW "\033[01;33m"
86#define ANSI_BBLUE "\033[01;34m"
87#define ANSI_BMAGENTA "\033[01;35m"
88#define ANSI_BCYAN "\033[01;36m"
89#define ANSI_WHITE "\033[01;37m"
90#define ANSI_NORMAL "\033[0m"
91#define ANSI_BOLD "\033[1m"
92
93/* Function declarations */
94extern void test_failed_at(const char *file, int line);
95extern void test_skipped(int why);
96extern void test_nottested(void);
97extern void enter_test(void);
98extern void exit_test(char *name);
99
100/* Wrapper macro for automatic file/line tracking */
101#define test_failed() test_failed_at(__FILE__, __LINE__)
102
103/* Types — `enum ad_format` (renamed from `enum adouble` to avoid a
104 * tag collision with `struct adouble` in <atalk/adouble.h>, which is
105 * now reachable via afpclient.h's include chain). */
106 enum ad_format {
107 AD_EA = 1,
108 AD_V2 = 2
109};
110
111/* Global variables */
112extern uint16_t VolID;
113extern int Mac;
114extern int ExitCode;
115extern enum ad_format adouble;
116
117extern char Data[];
118extern char FailedTests[1024][256];
119extern char NotTestedTests[1024][256];
120extern char SkippedTests[1024][256];
121
122extern char *Vol;
123extern char *Vol2;
124extern char *Path;
125extern char *User;
126extern char *Test;
127extern char *Server;
128
129extern int Version;
130extern int Verbose;
131extern int Quiet;
132extern int Locking;
133extern int Loglevel;
134extern int Color;
135extern int Interactive;
136extern int Throttle;
137extern int EmptyVol;
138
139extern int PassCount;
140extern int FailCount;
141extern int SkipCount;
142extern int NotTestedCount;
143
144#endif
VolID
uint16_t VolID
Definition afparg.c:38
User
char * User
Definition afparg.c:48
SkipCount
int SkipCount
Definition afparg.c:63
PassCount
int PassCount
Definition afparg.c:61
Test
char * Test
Definition afparg.c:51
SkippedTests
char SkippedTests[1024][256]
Definition afparg.c:67
Vol
char * Vol
Definition afparg.c:47
Version
int Version
Definition afparg.c:49
Server
char * Server
Definition afparg.c:44
EmptyVol
int EmptyVol
Definition afparg.c:59
Data
char Data[1]
Definition afparg.c:60
NotTestedTests
char NotTestedTests[1024][256]
Definition afparg.c:66
Mac
int Mac
Definition afparg.c:58
NotTestedCount
int NotTestedCount
Definition afparg.c:64
ExitCode
int ExitCode
Definition afparg.c:37
FailCount
int FailCount
Definition afparg.c:62
FailedTests
char FailedTests[1024][256]
Definition afparg.c:65
Throttle
int Throttle
Definition afpclient.c:8
Quiet
int Quiet
Definition afpclient.c:11
Interactive
int Interactive
Definition afpclient.c:10
Color
int Color
Definition afpclient.c:13
Verbose
int Verbose
Definition afpclient.c:12
Loglevel
int Loglevel
Definition afphelper.c:18
Path
char * Path
Definition lantest.c:106
Vol2
char * Vol2
Definition spectest.c:337
Locking
int Locking
Definition spectest.c:345
adouble
Definition adouble.h:191
test_skipped
void test_skipped(int why)
Definition testhelper.c:20
test_failed_at
void test_failed_at(const char *file, int line)
Definition testhelper.c:153
ad_format
ad_format
Definition testhelper.h:106
AD_EA
@ AD_EA
Definition testhelper.h:107
AD_V2
@ AD_V2
Definition testhelper.h:108
exit_test
void exit_test(char *name)
Definition testhelper.c:195
enter_test
void enter_test(void)
Definition testhelper.c:180
test_nottested
void test_nottested(void)
Definition testhelper.c:166