]> git.saurik.com Git - apple/xnu.git/blame - tools/tests/xnu_quick_test/tests.h
xnu-1699.32.7.tar.gz
[apple/xnu.git] / tools / tests / xnu_quick_test / tests.h
CommitLineData
2d21ac55
A
1#ifndef _TESTS_H_
2#define _TESTS_H_
3
2d21ac55
A
4#ifndef CONFORMANCE_TESTS_IN_XNU
5#define CONFORMANCE_TESTS_IN_XNU 0
6#endif
7#ifndef TEST_SYSTEM_CALLS
8#define TEST_SYSTEM_CALLS 0
9#endif
10
11#include <errno.h>
12#include <fcntl.h>
13#include <signal.h> /* Install signal handlers*/
14#include <spawn.h>
15#include <stdio.h>
16#include <stdlib.h>
17#include <string.h>
18#include <unistd.h>
6d2010ae
A
19#include <stdbool.h>
20#include <assert.h>
b0d623f7 21#include <stdarg.h> /* Used to support printf() in misc.c */
2d21ac55
A
22#include <mach/machine.h> /* Used to determine host properties */
23#include <mach/vm_inherit.h>
24#include <sys/acct.h>
25#include <sys/aio.h>
26#include <sys/attr.h>
27#include <sys/dirent.h>
28#include <sys/disk.h>
29#include <sys/uio.h>
30#include <sys/kauth.h>
31#include <sys/mman.h>
32#include <sys/mount.h>
33#include <sys/param.h>
34#include <sys/ptrace.h>
35#include <sys/quota.h>
36#include <sys/resource.h>
37#include <sys/select.h>
38#include <sys/signal.h>
39#include <sys/socket.h>
40#include <sys/stat.h>
41#include <sys/syscall.h>
42#include <sys/sysctl.h> /* Used to determine host properties */
43#include <sys/syslimits.h>
44#include <sys/time.h>
45#include <sys/ttycom.h>
46#include <sys/types.h>
47#include <sys/ucred.h>
48#include <sys/vnode.h>
49#include <sys/wait.h>
cf7d32b8
A
50#include <TargetConditionals.h> /* for TARGET_OS_EMBEDDED */
51
2d21ac55 52#define MY_BUFFER_SIZE (1024 * 10)
cf7d32b8 53#define ARM 100 /* I am not sure if the value really matters? */
2d21ac55
A
54#define INTEL 38947 /*
55 * Random values used by execve tests to
56 * determine architecture of machine.
57 */
6d2010ae
A
58#define FILE_NOTME "/tmp/notme" /* file in /tm not owned by me */
59#define FILE_ME "/tmp/me" /* file in /tmp owned by me */
2d21ac55
A
60
61typedef int (*test_rtn_t)(void *);
62
63int access_chmod_fchmod_test( void * the_argp );
64int acct_test( void * the_argp );
65int aio_tests( void * the_argp );
66int bsd_shm_tests( void * the_argp );
67int chdir_fchdir_test( void * the_argp );
68int chflags_fchflags_test( void * the_argp );
69int chroot_test( void * the_argp );
70int chown_fchown_lchown_lstat_symlink_test( void * the_argp );
71int create_file_with_name( char *the_pathp, char *the_namep, int remove_existing );
72int create_random_name( char *the_pathp, int do_open );
73int directory_tests( void * the_argp );
74int do_execve_test(char * path, char * argv[], void * envpi, int killwait);
75int dup_test( void * the_argp );
76int exchangedata_test( void * the_argp );
77int execve_kill_vfork_test( void * the_argp );
78int fcntl_test( void * the_argp );
79int fork_wait4_exit_test( void * the_argp );
80int fs_stat_tests( void * the_argp );
81int get_architecture(void); /* Intel or PPC */
82int get_bits(void); /* 64 or 32 */
83int getlogin_setlogin_test( void * the_argp );
84int getpid_getppid_pipe_test( void * the_argp );
85int getpriority_setpriority_test( void * the_argp );
b0d623f7 86int getrusage_test( void * the_argp );
2d21ac55
A
87int groups_test( void * the_argp );
88int ioctl_test( void * the_argp );
89int kqueue_tests( void * the_argp );
90int limit_tests( void * the_argp );
91int link_stat_unlink_test( void * the_argp );
92int locking_test( void * the_argp );
93int memory_tests( void * the_argp );
94int message_queue_tests( void * the_argp );
95int mkdir_rmdir_umask_test( void * the_argp );
96int mkfifo_test( void * the_argp );
97int mknod_sync_test( void * the_argp );
98int open_close_test( void * the_argp );
99int process_group_test( void * the_argp );
100int quotactl_test( void * the_argp );
101int read_write_test( void * the_argp );
102int rename_test( void * the_argp );
103int searchfs_test( void * the_argp );
104int sema_tests( void * the_argp );
105int sema2_tests( void * the_argp );
106int shm_tests( void * the_argp );
107int signals_test( void * the_argp );
108int socket_tests( void * the_argp );
109int socket2_tests( void * the_argp );
110int syscall_test( void * the_argp );
111int time_tests( void * the_argp );
112int uid_tests( void * the_argp );
113int xattr_tests( void * the_argp );
b0d623f7
A
114int data_exec_tests( void * the_argp );
115int machvm_tests( void * the_argp );
116int getdirentries_test( void * the_argp );
117int statfs_32bit_inode_tests( void * the_argp );
6d2010ae
A
118int commpage_data_tests( void * the_argp );
119int atomic_fifo_queue_test( void * the_argp );
120int sched_tests( void * the_argp );
2d21ac55
A
121
122struct test_entry
123{
124 int test_run_it; /* 0 means do not run this test, else run it */
125 test_rtn_t test_routine; /* routine to call */
126 void * test_input; /* optional input to test_routine */
127 char * test_infop; /* information about what is tested */
128};
129typedef struct test_entry * test_entryp;
130
b0d623f7
A
131/* Special replacement printf with date/time stamp */
132int my_printf(const char * __restrict fmt, ...);
133#define printf my_printf
134
6d2010ae
A
135/*
136 If running xnu_quick_test under testbots, disable special
137 printf defined in the previous step. This is done in order
138 to generate log messages in a format which testbots understands
139*/
140
141#if RUN_UNDER_TESTBOTS
142#undef printf
143#endif
144
2d21ac55 145#endif /* !_TESTS_H_ */