master
h 209 lines 5.22 KB
Raw
1 /*++
2
3 Copyright (c) Microsoft. All rights reserved.
4
5 Module Name:
6
7 unittests.h
8
9 Abstract:
10
11 This file contains definitions for the unittest executable.
12
13 --*/
14
15 #pragma once
16
17 #include "lxtutil.h"
18
19 // Define test names
20
21 #define AUXV_TESTNAME "auxv"
22 #define BINFMT_TESTNAME "binfmt"
23 #define BRK_TESTNAME "brk"
24 #define CGROUP_TESTNAME "cgroup"
25 #define DEV_PT_TESTNAME "dev_pt"
26 #define DEV_PT_TWO_TESTNAME "dev_pt_2"
27 #define DRVFS_TESTNAME "drvfs"
28 #define DUP_TESTNAME "dup"
29 #define EPOLL_TESTNAME "epoll"
30 #define EVENTFD_TESTNAME "eventfd"
31 #define EXECVE_TESTNAME "execve"
32 #define FLOCK_TESTNAME "flock"
33 #define FORK_TESTNAME "fork"
34 #define FSCOMMON_TESTNAME "fscommon"
35 #define FSTAB_TESTNAME "fstab"
36 #define GET_SET_ID_TESTNAME "get_set_id"
37 #define GETADDRINFO_TESTNAME "get_addr_info"
38 #define GETTIME_TESTNAME "get_time"
39 #define INOTIFY_TESTNAME "inotify"
40 #define INTEROP_TESTNAME "interop"
41 #define IOPRIO_TESTNAME "ioprio"
42 #define KEYMGMT_TESTNAME "keymgmt"
43 #define MADVISE_TESTNAME "madvise"
44 #define MOUNT_TESTNAME "mount"
45 #define MPROTECT_TESTNAME "mprotect"
46 #define MREMAP_TESTNAME "mremap"
47 #define NAMESPACE_TESTNAME "namespace"
48 #define NETLINK_TESTNAME "netlink"
49 #define OVERLAYFS_TESTNAME "overlayfs"
50 #define PIPE_TESTNAME "pipe"
51 #define POLL_TESTNAME "poll"
52 #define PTRACE_TESTNAME "ptrace"
53 #define RANDOM_TESTNAME "random"
54 #define RESOURCELIMITS_TESTNAME "resource_limits"
55 #define SCHED_TESTNAME "sched"
56 #define SELECT_TESTNAME "select"
57 #define SEM_TESTNAME "sem"
58 #define SHM_TESTNAME "shm"
59 #define SOCKET_TESTNAME "socket"
60 #define SOCKET_NONBLOCK_TESTNAME "socket_nonblock"
61 #define SPLICE_TESTNAME "splice"
62 #define SYSFS_TESTNAME "sysfs"
63 #define SYS_INFO_TESTNAME "sysinfo"
64 #define TIMER_TESTNAME "timer"
65 #define TIMERFD_TESTNAME "timerfd"
66 #define TTY_TESTNAME "tty"
67 #define TTYS_TESTNAME "ttys"
68 #define USER_TESTNAME "user"
69 #define UTIMENSAT_TESTNAME "utimensat"
70 #define VFSACCESS_TESTNAME "vfsaccess"
71 #define VNET_TESTNAME "vnet"
72 #define WAITPID_TESTNAME "waitpid"
73 #define WSLPATH_TESTNAME "wslpath"
74 #define XATTR_TESTNAME "xattr"
75
76 // define path to unit test binary
77 #define WSL_UNIT_TEST_BINARY "/data/test/wsl_unit_tests"
78
79 // #define FUNCTIONS_H_INCLUDED
80 // #ifndef FUNCTIONS_H_INCLUDED
81
82 // Define each test's entry point
83
84 int AuxvTestEntry(int Argc, char* Argv[]);
85
86 int BinFmtTestEntry(int Argc, char* Argv[]);
87
88 int BrkTestEntry(int Argc, char* Argv[]);
89
90 int CgroupTestEntry(int Argc, char* Argv[]);
91
92 int DevPtTestEntry(int Argc, char* Argv[]);
93
94 int DevPtTwoTestEntry(int Argc, char* Argv[]);
95
96 int DrvfsTestEntry(int Argc, char* Argv[]);
97
98 int DupTestEntry(int Argc, char* Argv[]);
99
100 int EpollTestEntry(int Argc, char* Argv[]);
101
102 int EventfdTestEntry(int Argc, char* Argv[]);
103
104 int ExecveTestEntry(int Argc, char* Argv[], char** Envp);
105
106 int FlockTestEntry(int Argc, char* Argv[]);
107
108 int ForkTestEntry(int Argc, char* Argv[]);
109
110 int FsCommonTestEntry(int Argc, char* Argv[]);
111
112 int FstabTestEntry(int Argc, char* Argv[]);
113
114 int FutexTestEntry(int Argc, char* Argv[]);
115
116 int GetSetIdTestEntry(int Argc, char* Argv[]);
117
118 int GetAddrInfoTestEntry(int Argc, char* Argv[]);
119
120 int GetTimeTestEntry(int Argc, char* Argv[]);
121
122 int InotifyTestEntry(int Argc, char* Argv[]);
123
124 int InteropTestEntry(int Argc, char* Argv[]);
125
126 int IoprioTestEntry(int Argc, char* Argv[]);
127
128 int KeymgmtTestEntry(int Argc, char* Argv[]);
129
130 int MadviseTestEntry(int Argc, char* Argv[]);
131
132 int MprotectTestEntry(int Argc, char* Argv[]);
133
134 int MremapTestEntry(int Argc, char* Argv[]);
135
136 int NamespaceTestEntry(int Argc, char* Argv[]);
137
138 int NetlinkTestEntry(int Argc, char* Argv[]);
139
140 int OverlayFsTestEntry(int Argc, char* Argv[]);
141
142 int PipeTestEntry(int Argc, char* Argv[]);
143
144 int PollTestEntry(int Argc, char* Argv[]);
145
146 int RandomTestEntry(int Argc, char* Argv[]);
147
148 int ResourceLimitsTestEntry(int Argc, char* Argv[]);
149
150 int SchedTestEntry(int Argc, char* Argv[]);
151
152 int SelectTestEntry(int Argc, char* Argv[]);
153
154 int SemTestEntry(int Argc, char* Argv[]);
155
156 int ShmTestEntry(int Argc, char* Argv[]);
157
158 int SocketTestEntry(int Argc, char* Argv[]);
159
160 int SocketNonblockTestEntry(int Argc, char* Argv[]);
161
162 int SpliceTestEntry(int Argc, char* Argv[]);
163
164 int SysfsTestEntry(int Argc, char* Argv[]);
165
166 int SysInfoTestEntry(int Argc, char* Argv[]);
167
168 int TimerTestEntry(int Argc, char* Argv[]);
169
170 int TimerFdTestEntry(int Argc, char* Argv[]);
171
172 int TtyTestEntry(int Argc, char* Argv[]);
173
174 int TtysTestEntry(int Argc, char* Argv[]);
175
176 int UserTestEntry(int Argc, char* Argv[]);
177
178 int UtimensatTestEntry(int Argc, char* Argv[]);
179
180 int VfsAccessTestEntry(int Argc, char* Argv[]);
181
182 int VnetTestEntry(int Argc, char* Argv[]);
183
184 int WaitPidTestEntry(int Argc, char* Argv[]);
185
186 int WslPathTestEntry(int Argc, char* Argv[]);
187
188 int XattrTestEntry(int Argc, char* Argv[]);
189
190 // #endif
191
192 // for parsing which test to use
193
194 typedef int LXT_TEST_HANDLER(int Argc, char* Argv[]);
195
196 typedef int LXT_TEST_HANDLER_ENVP(int Argc, char* Argv[], char** Envp);
197
198 typedef union _TEST_HANDLER_UNION
199 {
200 LXT_TEST_HANDLER* TestHandler;
201 LXT_TEST_HANDLER_ENVP* TestHandlerEnvp;
202 } LXT_TEST_HANDLER_UNION;
203
204 typedef struct _LXT_TEST
205 {
206 const char* Name;
207 const bool Envp;
208 LXT_TEST_HANDLER_UNION Handler;
209 } LXT_TEST;