]>
git.saurik.com Git - apple/xnu.git/blob - tools/tests/xnu_quick_test/tests.h
4 #ifndef CONFORMANCE_TESTS_IN_XNU
5 #define CONFORMANCE_TESTS_IN_XNU 0
7 #ifndef TEST_SYSTEM_CALLS
8 #define TEST_SYSTEM_CALLS 0
13 #include <signal.h> /* Install signal handlers*/
21 #include <stdarg.h> /* Used to support printf() in misc.c */
22 #include <mach/machine.h> /* Used to determine host properties */
23 #include <mach/vm_inherit.h>
27 #include <sys/dirent.h>
30 #include <sys/kauth.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>
41 #include <sys/syscall.h>
42 #include <sys/sysctl.h> /* Used to determine host properties */
43 #include <sys/syslimits.h>
45 #include <sys/ttycom.h>
46 #include <sys/types.h>
47 #include <sys/ucred.h>
48 #include <sys/vnode.h>
50 #include <TargetConditionals.h> /* for TARGET_OS_EMBEDDED */
52 #define MY_BUFFER_SIZE (1024 * 10)
53 #define ARM 100 /* I am not sure if the value really matters? */
54 #define INTEL 38947 /*
55 * Random values used by execve tests to
56 * determine architecture of machine.
59 #define FILE_NOTME "/private/tmp/notme" /* file in /private/tmp not owned by the current user */
60 #define FILE_ME "/private/tmp/me" /* file in /private/tmp owned by the current user */
62 typedef int (*test_rtn_t
)(void *);
64 int access_chmod_fchmod_test( void * the_argp
);
65 int acct_test( void * the_argp
);
66 int aio_tests( void * the_argp
);
67 int bsd_shm_tests( void * the_argp
);
68 int chdir_fchdir_test( void * the_argp
);
69 int chflags_fchflags_test( void * the_argp
);
70 int chroot_test( void * the_argp
);
71 int chown_fchown_lchown_lstat_symlink_test( void * the_argp
);
72 int create_file_with_name( char *the_pathp
, char *the_namep
, int remove_existing
);
73 int create_random_name( char *the_pathp
, int do_open
);
74 int directory_tests( void * the_argp
);
75 int do_execve_test(char * path
, char * argv
[], void * envpi
, int killwait
);
76 int do_spawn_test(int arch
, int shouldfail
);
77 int dup_test( void * the_argp
);
78 int exchangedata_test( void * the_argp
);
79 int execve_kill_vfork_test( void * the_argp
);
80 int fcntl_test( void * the_argp
);
81 int fork_wait4_exit_test( void * the_argp
);
82 int fs_stat_tests( void * the_argp
);
83 int get_architecture(void); /* Intel or PPC */
84 int get_bits(void); /* 64 or 32 */
85 int getlogin_setlogin_test( void * the_argp
);
86 int getpid_getppid_pipe_test( void * the_argp
);
87 int getpriority_setpriority_test( void * the_argp
);
88 int getrusage_test( void * the_argp
);
89 int groups_test( void * the_argp
);
90 int ioctl_test( void * the_argp
);
91 int kqueue_tests( void * the_argp
);
92 int limit_tests( void * the_argp
);
93 int link_stat_unlink_test( void * the_argp
);
94 int locking_test( void * the_argp
);
95 int memory_tests( void * the_argp
);
96 int message_queue_tests( void * the_argp
);
97 int mkdir_rmdir_umask_test( void * the_argp
);
98 int mkfifo_test( void * the_argp
);
99 int mknod_sync_test( void * the_argp
);
100 int open_close_test( void * the_argp
);
101 int process_group_test( void * the_argp
);
102 int quotactl_test( void * the_argp
);
103 int read_write_test( void * the_argp
);
104 int rename_test( void * the_argp
);
105 int searchfs_test( void * the_argp
);
106 int sema_tests( void * the_argp
);
107 int sema2_tests( void * the_argp
);
108 int shm_tests( void * the_argp
);
109 int signals_test( void * the_argp
);
110 int socket_tests( void * the_argp
);
111 int socket2_tests( void * the_argp
);
112 int syscall_test( void * the_argp
);
113 int time_tests( void * the_argp
);
114 int uid_tests( void * the_argp
);
115 int xattr_tests( void * the_argp
);
116 int data_exec_tests( void * the_argp
);
117 int machvm_tests( void * the_argp
);
118 int getdirentries_test( void * the_argp
);
119 int statfs_32bit_inode_tests( void * the_argp
);
120 int commpage_data_tests( void * the_argp
);
121 int atomic_fifo_queue_test( void * the_argp
);
122 int sched_tests( void * the_argp
);
123 int content_protection_test( void * the_argp
);
124 int pipes_test( void * the_argp
);
125 int kaslr_test( void * the_argp
);
129 int test_run_it
; /* 0 means do not run this test, else run it */
130 test_rtn_t test_routine
; /* routine to call */
131 void * test_input
; /* optional input to test_routine */
132 char * test_infop
; /* information about what is tested */
134 typedef struct test_entry
* test_entryp
;
136 /* Special replacement printf with date/time stamp */
137 int my_printf(const char * __restrict fmt
, ...);
138 #define printf my_printf
141 If running xnu_quick_test under testbots, disable special
142 printf defined in the previous step. This is done in order
143 to generate log messages in a format which testbots understands
146 #if RUN_UNDER_TESTBOTS
150 #endif /* !_TESTS_H_ */