Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2
[yaffs2.git] / direct / timothy_tests / quick_tests / quick_tests.h
1 /*
2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system. 
3  *
4  * Copyright (C) 2002-2010 Aleph One Ltd.
5  *   for Toby Churchill Ltd and Brightstar Engineering
6  *
7  * Created by Timothy Manning <timothy@yaffs.net>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser General Public License version 2.1 as
11  * published by the Free Software Foundation.
12  *
13  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
14  */
15
16 #ifndef __quick_tests_h__
17 #define __quick_tests_h__
18 #include <stdio.h>
19
20 #include "test_yaffs_mount.h"
21 #include "test_yaffs_mount_ENODEV.h"
22 #include "test_yaffs_mount_ENAMETOOLONG.h"
23 #include "test_yaffs_mount_EBUSY.h"
24
25 #include "test_yaffs_unmount.h"
26 #include "test_yaffs_unmount_ENODEV.h"
27 #include "test_yaffs_unmount_ENAMETOOLONG.h"
28 #include "test_yaffs_unmount_EBUSY.h"
29
30 #include "test_yaffs_open.h"
31 #include "test_yaffs_open_EISDIR.h"
32 #include "test_yaffs_open_EEXIST.h"
33 #include "test_yaffs_open_ENOENT.h"
34 #include "test_yaffs_open_ENOTDIR.h"
35 #include "test_yaffs_open_ENAMETOOLONG.h"
36 #include "test_yaffs_open_EINVAL.h"
37 #include "test_yaffs_open_EINVAL2.h"
38 #include "test_yaffs_open_ELOOP.h"
39 #include "test_yaffs_open_ELOOP_dir.h"
40 #include "test_yaffs_open_EROFS.h"
41
42 #include "test_yaffs_close_EBADF.h"
43
44
45 #include "test_yaffs_unlink.h"
46 #include "test_yaffs_unlink_EISDIR.h"
47 #include "test_yaffs_unlink_ENOENT.h"
48 #include "test_yaffs_unlink_ENAMETOOLONG.h"
49 #include "test_yaffs_unlink_ENOTDIR.h"
50 #include "test_yaffs_unlink_ENOENT.h"
51 #include "test_yaffs_unlink_ENOENT2.h"
52 #include "test_yaffs_unlink_ELOOP_dir.h"
53
54 #include "test_yaffs_ftruncate.h"
55 #include "test_yaffs_ftruncate_EBADF.h"
56 #include "test_yaffs_ftruncate_EINVAL.h"
57 #include "test_yaffs_ftruncate_big_file.h"
58 #include "test_yaffs_ftruncate_EROFS.h"
59
60
61 #include "test_yaffs_truncate.h"
62 #include "test_yaffs_truncate_ENOTDIR.h"
63 #include "test_yaffs_truncate_EISDIR.h"
64 #include "test_yaffs_truncate_ENOENT.h"
65 #include "test_yaffs_truncate_EINVAL.h"
66 #include "test_yaffs_truncate_big_file.h"
67 #include "test_yaffs_truncate_ENOENT2.h"
68 #include "test_yaffs_truncate_ELOOP.h"
69 #include "test_yaffs_truncate_ELOOP_dir.h"
70
71 #include "test_yaffs_write.h"
72 #include "test_yaffs_write_EBADF.h"
73 #include "test_yaffs_write_big_file.h"
74
75 #include "test_yaffs_read.h"
76 #include "test_yaffs_read_EBADF.h"
77 #include "test_yaffs_read_EINVAL.h"
78
79 #include "test_yaffs_lseek.h"
80 #include "test_yaffs_lseek_EBADF.h"
81 #include "test_yaffs_lseek_EINVAL.h"
82 #include "test_yaffs_lseek_big_file.h"
83
84 #include "test_yaffs_access.h"
85 #include "test_yaffs_access_EINVAL.h"
86 #include "test_yaffs_access_ENOTDIR.h"
87 #include "test_yaffs_access_ENOENT.h"
88 #include "test_yaffs_access_ENOENT2.h"
89 #include "test_yaffs_access_ELOOP_dir.h"
90 #include "test_yaffs_access_ELOOP.h"
91 #include "test_yaffs_access_EROFS.h"
92
93 #include "test_yaffs_stat.h"
94 #include "test_yaffs_stat_ENOENT.h"
95 #include "test_yaffs_stat_ENOTDIR.h"
96 #include "test_yaffs_stat_ENOENT2.h"
97 #include "test_yaffs_stat_ELOOP.h"
98 #include "test_yaffs_stat_ELOOP_dir.h"
99
100 #include "test_yaffs_fstat.h"
101 #include "test_yaffs_fstat_EBADF.h"
102
103
104 #include "test_yaffs_chmod.h"
105 #include "test_yaffs_chmod_ENOENT.h"
106 #include "test_yaffs_chmod_ENOTDIR.h"
107 #include "test_yaffs_chmod_EINVAL.h"
108 #include "test_yaffs_chmod_ENOENT2.h"
109 #include "test_yaffs_chmod_ELOOP_dir.h"
110 #include "test_yaffs_chmod_ELOOP.h"
111 #include "test_yaffs_chmod_EROFS.h"
112
113 #include "test_yaffs_fchmod.h"
114 #include "test_yaffs_fchmod_EBADF.h"
115 #include "test_yaffs_fchmod_EINVAL.h"
116 #include "test_yaffs_fchmod_EROFS.h"
117
118 #include "test_yaffs_fsync.h"
119 #include "test_yaffs_fsync_EBADF.h"
120 #include "test_yaffs_fsync_EROFS.h"
121
122 #include "test_yaffs_fdatasync.h"
123 #include "test_yaffs_fdatasync_EBADF.h"
124 #include "test_yaffs_fdatasync_EROFS.h"
125
126 #include "test_yaffs_mkdir.h"
127 #include "test_yaffs_mkdir_EEXIST.h"
128 #include "test_yaffs_mkdir_ENOTDIR.h"
129 #include "test_yaffs_mkdir_ENOENT.h"
130 #include "test_yaffs_mkdir_ELOOP_dir.h"
131 #include "test_yaffs_mkdir_EROFS.h"
132
133
134 #include "test_yaffs_symlink.h"
135 #include "test_yaffs_symlink_ENOTDIR.h"
136 #include "test_yaffs_symlink_EEXIST.h"
137 #include "test_yaffs_symlink_ENOENT.h"
138 #include "test_yaffs_symlink_ENOENT2.h"
139 #include "test_yaffs_symlink_ELOOP_dir.h"
140
141 #include "test_yaffs_mount2.h"
142 #include "test_yaffs_mount2_ENODEV.h"
143
144 #include "test_yaffs_unmount2.h"
145 #include "test_yaffs_unmount2_ENODEV.h"
146 #include "test_yaffs_unmount2_EINVAL.h"
147 #include "test_yaffs_unmount2_with_handle_open_and_forced_mode_on.h"
148 #include "test_yaffs_unmount2_with_handle_open_and_forced_mode_off.h"
149
150 #include "test_yaffs_sync.h"
151 #include "test_yaffs_sync_ENODEV.h"
152
153 #include "test_yaffs_remount_force_off_read_only_off.h"
154 #include "test_yaffs_remount_force_on_read_only_off.h"
155 #include "test_yaffs_remount_ENODEV.h"
156 #include "test_yaffs_remount_EINVAL.h"
157
158 #include "test_yaffs_freespace.h"
159 #include "test_yaffs_freespace_EINVAL.h"
160
161 #include "test_yaffs_totalspace.h"
162 #include "test_yaffs_totalspace_EINVAL.h"
163
164 #include "test_yaffs_inodecount.h"
165 #include "test_yaffs_inodecount_EINVAL.h"
166
167 #include "test_yaffs_link.h"
168 #include "test_yaffs_link_ENOENT.h"
169 #include "test_yaffs_link_EEXIST.h"
170 #include "test_yaffs_link_ENOTDIR.h"
171 #include "test_yaffs_link_ENOTDIR2.h"
172 #include "test_yaffs_link_ENOENT2.h"
173 #include "test_yaffs_link_ENOENT3.h"
174 #include "test_yaffs_link_ENOENT4.h"
175 #include "test_yaffs_link_ELOOP_dir.h"
176 #include "test_yaffs_link_EROFS.h"
177
178 #include "test_yaffs_rmdir.h"
179 #include "test_yaffs_rmdir_EBUSY.h"
180 #include "test_yaffs_rmdir_EINVAL.h"
181 #include "test_yaffs_rmdir_ENOENT.h"
182 #include "test_yaffs_rmdir_ENOTDIR.h"
183 #include "test_yaffs_rmdir_ELOOP_dir.h"
184
185 #include "test_yaffs_rename.h"
186 #include "test_yaffs_rename_ENOENT.h"
187 #include "test_yaffs_rename_ENOTDIR.h"
188 #include "test_yaffs_rename_EINVAL.h"
189 #include "test_yaffs_rename_dir.h"
190 #include "test_yaffs_rename_dir_ENOENT.h"
191 #include "test_yaffs_rename_dir_ENOENT2.h"
192 #include "test_yaffs_rename_dir_to_file.h"
193 #include "test_yaffs_rename_file_to_dir.h"
194 #include "test_yaffs_rename_EEXISTS.h"
195 #include "test_yaffs_rename_ELOOP_dir.h"
196
197 #include "test_yaffs_lstat.h"
198 #include "test_yaffs_lstat_ENOENT.h"
199 #include "test_yaffs_lstat_ENOTDIR.h"
200
201 #include "test_yaffs_flush.h"
202 #include "test_yaffs_flush_EBADF.h"
203 #include "test_yaffs_flush_EROFS.h"
204
205 #include "yaffsfs.h"
206 #include "yaffs_error_converter.h"
207 #include "lib.h"
208
209
210
211
212 typedef struct test {
213         int (*p_function)(void);        /*pointer to test function*/
214         int (*p_function_clean)(void);
215         /*char pass_message[50]; will not need a pass message*/
216         char *name_of_test;     /*pointer to fail message, needs to include name of test*/
217 }test_template;
218
219
220 test_template test_list[]={
221         {test_yaffs_mount,test_yaffs_mount_clean,"test_yaffs_mount"},
222         {test_yaffs_mount_ENODEV,test_yaffs_mount_ENODEV_clean,"test_yaffs_mount_ENODEV"},
223         {test_yaffs_mount_ENAMETOOLONG,test_yaffs_mount_ENAMETOOLONG_clean,"test_yaffs_mount_ENAMETOOLONG"},
224         {test_yaffs_mount_EBUSY,test_yaffs_mount_EBUSY_clean,"test_yaffs_mount_EBUSY"},
225
226         {test_yaffs_unmount,test_yaffs_unmount_clean,"test_yaffs_unmount"},
227         {test_yaffs_unmount_ENODEV,test_yaffs_unmount_ENODEV_clean,"test_yaffs_unmount_ENODEV"},
228         {test_yaffs_unmount_ENAMETOOLONG,test_yaffs_unmount_ENAMETOOLONG_clean,"test_yaffs_unmount_ENAMETOOLONG"},
229         {test_yaffs_unmount_EBUSY,test_yaffs_unmount_EBUSY_clean,"test_yaffs_unmount_EBUSY"},
230
231         {test_yaffs_open,test_yaffs_open_clean,"test_yaffs_open"},
232         {test_yaffs_open_EISDIR,test_yaffs_open_EISDIR_clean,"test_yaffs_open_EISDIR"},
233         {test_yaffs_open_EEXIST,test_yaffs_open_EEXIST_clean,"test_yaffs_open_EEXIST"},
234         {test_yaffs_open_ENOTDIR,test_yaffs_open_ENOTDIR_clean,"test_yaffs_open_ENOTDIR"},
235         {test_yaffs_open_ENOENT,test_yaffs_open_ENOENT_clean,"test_yaffs_open_ENOENT"},
236         {test_yaffs_open_ENAMETOOLONG,test_yaffs_open_ENAMETOOLONG_clean,"test_yaffs_open_ENAMETOOLONG"},
237         {test_yaffs_open_EINVAL,test_yaffs_open_EINVAL_clean,"test_yaffs_open_EINVAL"},
238         {test_yaffs_open_EINVAL2,test_yaffs_open_EINVAL2_clean,"test_yaffs_open_EINVAL2"},
239         {test_yaffs_open_ELOOP,test_yaffs_open_ELOOP_clean,"test_yaffs_open_ELOOP"},
240         {test_yaffs_open_ELOOP_dir,test_yaffs_open_ELOOP_dir_clean,"test_yaffs_open_ELOOP_dir"},
241         {test_yaffs_open_EROFS,test_yaffs_open_EROFS_clean,"test_yaffs_open_EROFS"},
242         
243         {test_yaffs_close_EBADF,test_yaffs_close_EBADF_clean,"test_yaffs_close_EBADF"},
244
245         {test_yaffs_access,test_yaffs_access_clean,"test_yaffs_access"},
246         {test_yaffs_access_EINVAL,test_yaffs_access_EINVAL_clean,"test_yaffs_access_EINVAL"},
247         {test_yaffs_access_ENOTDIR,test_yaffs_access_ENOTDIR_clean,"test_yaffs_access_ENOTDIR"},
248         {test_yaffs_access_ENOENT,test_yaffs_access_ENOENT_clean,"test_yaffs_access_ENOENT"},
249         {test_yaffs_access_ENOENT2,test_yaffs_access_ENOENT2_clean,"test_yaffs_access_ENOENT2"},
250         {test_yaffs_access_ELOOP_dir,test_yaffs_access_ELOOP_dir_clean,"test_yaffs_access_ELOOP_dir"},
251         {test_yaffs_access_ELOOP,test_yaffs_access_ELOOP_clean,"test_yaffs_access_ELOOP"},
252         {test_yaffs_access_EROFS,test_yaffs_access_EROFS_clean,"test_yaffs_access_EROFS"},
253
254         {test_yaffs_unlink, test_yaffs_unlink_clean,"test_yaffs_unlink"},
255         {test_yaffs_unlink_EISDIR,test_yaffs_unlink_EISDIR_clean,"test_yaffs_unlink_EISDIR"},
256         {test_yaffs_unlink_ENOENT,test_yaffs_unlink_ENOENT_clean,"test_yaffs_unlink_ENOENT"},
257         {test_yaffs_unlink_ENAMETOOLONG,test_yaffs_unlink_ENAMETOOLONG_clean,"test_yaffs_unlink_ENAMETOOLONG"},
258         {test_yaffs_unlink_ENOTDIR,test_yaffs_unlink_ENOTDIR_clean,"test_yaffs_unlink_ENOTDIR"},
259         {test_yaffs_unlink_ENOENT,test_yaffs_unlink_ENOENT_clean,"test_yaffs_unlink_ENOENT"},
260         {test_yaffs_unlink_ENOENT2,test_yaffs_unlink_ENOENT2_clean,"test_yaffs_unlink_ENOENT2"},
261         {test_yaffs_unlink_ELOOP_dir,test_yaffs_unlink_ELOOP_dir_clean,"test_yaffs_unlink_ELOOP_dir"},
262
263
264         {test_yaffs_lseek,test_yaffs_lseek_clean,"test_yaffs_lseek"},
265         {test_yaffs_lseek_EBADF,test_yaffs_lseek_EBADF_clean,"test_yaffs_lseek_EBADF"},
266         {test_yaffs_lseek_EINVAL,test_yaffs_lseek_EINVAL_clean,"test_yaffs_lseek_EINVAL"},
267 //      {test_yaffs_lseek_big_file,test_yaffs_lseek_big_file_clean,"test_yaffs_lseek_big_file"}, //this test does not work because the large number becomes 0 when the file is compiled.
268
269         {test_yaffs_write,test_yaffs_write_clean,"test_yaffs_write"},
270         {test_yaffs_write_EBADF,test_yaffs_write_EBADF_clean,"test_yaffs_write_EBADF"},
271         {test_yaffs_write_big_file,test_yaffs_write_big_file_clean,"test_yaffs_write_big_file"},
272
273         {test_yaffs_read,test_yaffs_read_clean,"test_yaffs_read"},
274         {test_yaffs_read_EBADF,test_yaffs_read_EBADF_clean,"test_yaffs_read_EBADF"},
275         {test_yaffs_read_EINVAL,test_yaffs_read_EINVAL_clean,"test_yaffs_read_EINVAL"},
276
277         {test_yaffs_stat,test_yaffs_stat_clean,"test_yaffs_stat"},
278         {test_yaffs_stat_ENOENT,test_yaffs_stat_ENOENT_clean,"test_yaffs_stat_ENOENT"},
279         {test_yaffs_stat_ENOTDIR,test_yaffs_stat_ENOTDIR_clean,"test_yaffs_stat_ENOTDIR"},
280         {test_yaffs_stat_ENOENT2,test_yaffs_stat_ENOENT2_clean,"test_yaffs_stat_ENOENT2"},
281         {test_yaffs_stat_ELOOP,test_yaffs_stat_ELOOP_clean,"test_yaffs_stat_ELOOP"},
282         {test_yaffs_truncate_ELOOP_dir,test_yaffs_truncate_ELOOP_dir_clean,"test_yaffs_truncate_ELOOP_dir"},
283
284         {test_yaffs_fstat,test_yaffs_fstat_clean,"test_yaffs_fstat"},
285         {test_yaffs_fstat_EBADF,test_yaffs_fstat_EBADF_clean,"test_yaffs_fstat_EBADF"},
286
287         {test_yaffs_ftruncate,test_yaffs_ftruncate_clean,"test_yaffs_ftruncate"},
288         {test_yaffs_ftruncate_EBADF,test_yaffs_ftruncate_EBADF_clean,"test_yaffs_ftruncate_EBADF"},
289         {test_yaffs_ftruncate_EINVAL,test_yaffs_ftruncate_EINVAL_clean,"test_yaffs_ftruncate_EINVAL"},
290         {test_yaffs_ftruncate_big_file,test_yaffs_ftruncate_big_file_clean,"test_yaffs_ftruncate_big_file"},
291         {test_yaffs_ftruncate_EROFS,test_yaffs_ftruncate_EROFS_clean,"test_yaffs_ftruncate_EROFS"},
292
293         {test_yaffs_truncate,test_yaffs_truncate_clean,"test_yaffs_truncate"},
294         {test_yaffs_truncate_ENOTDIR,test_yaffs_truncate_ENOTDIR_clean,"test_yaffs_truncate_ENOTDIR"},
295         {test_yaffs_truncate_EISDIR,test_yaffs_truncate_EISDIR_clean,"test_yaffs_truncate_EISDIR"},
296         {test_yaffs_truncate_EINVAL,test_yaffs_truncate_EINVAL_clean,"test_yaffs_truncate_EINVAL"},
297         {test_yaffs_truncate_ENOENT,test_yaffs_truncate_ENOENT_clean,"test_yaffs_truncate_ENOENT"},
298         {test_yaffs_truncate_ENOENT2,test_yaffs_truncate_ENOENT2_clean,"test_yaffs_truncate_ENOENT2"},
299         {test_yaffs_truncate_ELOOP,test_yaffs_truncate_ELOOP_clean,"test_yaffs_truncate_ELOOP"},
300 //      {test_yaffs_truncate_big_file,test_yaffs_truncate_big_file_clean,"test_yaffs_truncate_big_file"}, //this test does not work because the large number becomes 0 when the file is compiled.
301
302         {test_yaffs_chmod,test_yaffs_chmod_clean,"test_yaffs_chmod"},
303         {test_yaffs_chmod_ENOENT,test_yaffs_chmod_ENOENT_clean,"test_yaffs_chmod_ENOENT"},
304         {test_yaffs_chmod_ENOTDIR,test_yaffs_chmod_ENOTDIR_clean,"test_yaffs_chmod_ENOTDIR"},
305         {test_yaffs_chmod_EINVAL,test_yaffs_chmod_EINVAL_clean,"test_yaffs_chmod_EINVAL"},
306         {test_yaffs_chmod_ELOOP_dir,test_yaffs_chmod_ELOOP_dir_clean,"test_yaffs_chmod_ELOOP_dir"},
307         {test_yaffs_chmod_ELOOP,test_yaffs_chmod_ELOOP_clean,"test_yaffs_chmod_ELOOP"},
308         {test_yaffs_chmod_EROFS,test_yaffs_chmod_EROFS_clean,"test_yaffs_chmod_EROFS"},
309
310         {test_yaffs_fchmod,test_yaffs_fchmod_clean,"test_yaffs_fchmod"},
311         {test_yaffs_fchmod_EBADF,test_yaffs_fchmod_EBADF_clean,"test_yaffs_fchmod_EBADF"},
312         {test_yaffs_fchmod_EINVAL,test_yaffs_fchmod_EINVAL_clean,"test_yaffs_fchmod_EINVAL"},
313         {test_yaffs_fchmod_EROFS,test_yaffs_fchmod_EROFS_clean,"test_yaffs_fchmod_EROFS"},
314
315         {test_yaffs_fsync,test_yaffs_fsync_clean,"test_yaffs_fsync"},
316         {test_yaffs_fsync_EBADF,test_yaffs_fsync_EBADF_clean,"test_yaffs_fsync_EBADF"},
317         {test_yaffs_fsync_EROFS,test_yaffs_fsync_EROFS_clean,"test_yaffs_fsync_EROFS"},
318
319         {test_yaffs_fdatasync,test_yaffs_fdatasync_clean,"test_yaffs_fdatasync"},
320         {test_yaffs_fdatasync_EBADF,test_yaffs_fdatasync_EBADF_clean,"test_yaffs_fdatasync_EBADF"},
321         {test_yaffs_fdatasync_EROFS,test_yaffs_fdatasync_EROFS_clean,"test_yaffs_fdatasync_EROFS"},
322
323         {test_yaffs_mkdir,test_yaffs_mkdir_clean,"test_yaffs_mkdir"},
324         {test_yaffs_mkdir_EEXIST,test_yaffs_mkdir_EEXIST_clean,"test_yaffs_mkdir_EEXIST"},
325         {test_yaffs_mkdir_ENOTDIR,test_yaffs_mkdir_ENOTDIR_clean,"test_yaffs_mkdir_ENOTDIR"},
326         {test_yaffs_mkdir_ENOENT,test_yaffs_mkdir_ENOENT_clean,"test_yaffs_mkdir_ENOENT"},
327         {test_yaffs_mkdir_ELOOP_dir,test_yaffs_mkdir_ELOOP_dir_clean,"test_yaffs_mkdir_ELOOP_dir"},
328         {test_yaffs_mkdir_EROFS,test_yaffs_mkdir_EROFS_clean,"test_yaffs_mkdir_EROFS"},
329
330         {test_yaffs_symlink,test_yaffs_symlink_clean,"test_yaffs_symlink"},
331         {test_yaffs_symlink_ENOTDIR,test_yaffs_symlink_ENOTDIR_clean,"test_yaffs_symlink_ENOTDIR"},
332         {test_yaffs_symlink_EEXIST,test_yaffs_symlink_EEXIST_clean,"test_yaffs_symlink_EEXIST"},
333         {test_yaffs_symlink_ENOENT,test_yaffs_symlink_ENOENT_clean,"test_yaffs_symlink_ENOENT"},
334         {test_yaffs_symlink_ENOENT2,test_yaffs_symlink_ENOENT2_clean,"test_yaffs_symlink_ENOENT2"},
335         {test_yaffs_symlink_ELOOP_dir,test_yaffs_symlink_ELOOP_dir_clean,"test_yaffs_symlink_ELOOP_dir"},
336
337         {test_yaffs_mount2,test_yaffs_mount2_clean,"test_yaffs_mount2"},
338         {test_yaffs_mount2_ENODEV,test_yaffs_mount2_ENODEV_clean,"test_yaffs_mount2_ENODEV"},
339         
340
341         {test_yaffs_unmount2,test_yaffs_unmount2_clean,"test_yaffs_unmount2"},
342         {test_yaffs_unmount2_ENODEV,test_yaffs_unmount2_ENODEV_clean,"test_yaffs_unmount2_ENODEV"},
343         {test_yaffs_unmount2_EINVAL,test_yaffs_unmount2_EINVAL_clean,"test_yaffs_unmount2_EINVAL"},
344 {test_yaffs_unmount2_with_handle_open_and_forced_mode_on,test_yaffs_unmount2_with_handle_open_and_forced_mode_on_clean,"test_yaffs_unmount2_with_handle_open_and_forced_mode_on"},
345 {test_yaffs_unmount2_with_handle_open_and_forced_mode_off,test_yaffs_unmount2_with_handle_open_and_forced_mode_off_clean,"test_yaffs_unmount2_with_handle_open_and_forced_mode_off"},
346
347         {test_yaffs_sync,test_yaffs_sync_clean,"test_yaffs_sync"},
348         {test_yaffs_sync_ENODEV,test_yaffs_sync_ENODEV_clean,"test_yaffs_sync_ENODEV"},
349
350
351
352         {test_yaffs_remount_force_off_read_only_off,test_yaffs_remount_force_off_read_only_off_clean,"test_yaffs_remount_force_off_read_only_off"},
353 {test_yaffs_remount_force_on_read_only_off,test_yaffs_remount_force_on_read_only_off_clean,"test_yaffs_remount_force_on_read_only_off"},
354         {test_yaffs_remount_ENODEV,test_yaffs_remount_ENODEV_clean,"test_yaffs_remount_ENODEV"},
355         {test_yaffs_remount_EINVAL,test_yaffs_remount_EINVAL_clean,"test_yaffs_remount_EINVAL"},
356
357         {test_yaffs_freespace,test_yaffs_freespace_clean,"test_yaffs_freespace"},
358         {test_yaffs_freespace_EINVAL,test_yaffs_freespace_EINVAL_clean,"test_yaffs_freespace_EINVAL"},
359
360         {test_yaffs_totalspace,test_yaffs_totalspace_clean,"test_yaffs_totalspace"},
361         {test_yaffs_totalspace_EINVAL,test_yaffs_totalspace_EINVAL_clean,"test_yaffs_totalspace_EINVAL"},
362
363         {test_yaffs_inodecount,test_yaffs_inodecount_clean,"test_yaffs_inodecount"},
364         {test_yaffs_inodecount_EINVAL,test_yaffs_inodecount_EINVAL_clean,"test_yaffs_inodecount_EINVAL"},
365
366         {test_yaffs_link,test_yaffs_link_clean,"test_yaffs_link"},
367         {test_yaffs_link_ENOENT,test_yaffs_link_ENOENT_clean,"test_yaffs_link_ENOENT"},
368         {test_yaffs_link_EEXIST,test_yaffs_link_EEXIST_clean,"test_yaffs_link_EEXIST"},
369         {test_yaffs_link_ENOTDIR,test_yaffs_link_ENOTDIR_clean,"test_yaffs_link_ENOTDIR"},
370         {test_yaffs_link_ENOTDIR2,test_yaffs_link_ENOTDIR2_clean,"test_yaffs_link_ENOTDIR2"},
371         {test_yaffs_link_ENOENT2,test_yaffs_link_ENOENT2_clean,"test_yaffs_link_ENOENT2"},
372         {test_yaffs_link_ENOENT3,test_yaffs_link_ENOENT3_clean,"test_yaffs_link_ENOENT3"},
373         {test_yaffs_link_ENOENT4,test_yaffs_link_ENOENT4_clean,"test_yaffs_link_ENOENT4"},
374         {test_yaffs_link_ELOOP_dir,test_yaffs_link_ELOOP_dir_clean,"test_yaffs_link_ELOOP_dir"},
375         {test_yaffs_link_EROFS,test_yaffs_link_EROFS_clean,"test_yaffs_link_EROFS"},
376
377         {test_yaffs_rmdir,test_yaffs_rmdir_clean,"test_yaffs_rmdir"},
378         {test_yaffs_rmdir_EBUSY,test_yaffs_rmdir_EBUSY_clean,"test_yaffs_rmdir_EBUSY"},
379         {test_yaffs_rmdir_EINVAL,test_yaffs_rmdir_EINVAL_clean,"test_yaffs_rmdir_EINVAL"},
380         {test_yaffs_rmdir_ENOENT,test_yaffs_rmdir_ENOENT_clean,"test_yaffs_rmdir_ENOENT"},
381         {test_yaffs_rmdir_ENOTDIR,test_yaffs_rmdir_ENOTDIR_clean,"test_yaffs_rmdir_ENOTDIR"},
382         {test_yaffs_rmdir_ELOOP_dir,test_yaffs_rmdir_ELOOP_dir_clean,"test_yaffs_rmdir_ELOOP_dir"},
383         {test_yaffs_stat_ELOOP_dir,test_yaffs_stat_ELOOP_dir_clean,"test_yaffs_stat_ELOOP_dir"},
384
385         {test_yaffs_rename,test_yaffs_rename_clean,"test_yaffs_rename"},
386         {test_yaffs_rename_ENOENT,test_yaffs_rename_ENOENT_clean,"test_yaffs_rename_ENOENT"},
387         {test_yaffs_rename_ENOTDIR,test_yaffs_rename_ENOTDIR_clean,"test_yaffs_rename_ENOTDIR"},
388         {test_yaffs_rename_EINVAL,test_yaffs_rename_EINVAL_clean,"test_yaffs_rename_EINVAL"},
389         {test_yaffs_rename_dir,test_yaffs_rename_dir_clean,"test_yaffs_rename_dir"},
390         {test_yaffs_rename_dir_ENOENT,test_yaffs_rename_dir_ENOENT_clean,"test_yaffs_rename_dir_ENOENT"},
391         {test_yaffs_rename_dir_ENOENT2,test_yaffs_rename_dir_ENOENT2_clean,"test_yaffs_rename_dir_ENOENT2"},
392         {test_yaffs_rename_dir_to_file,test_yaffs_rename_dir_to_file_clean,"test_yaffs_rename_dir_to_file"},
393         {test_yaffs_rename_file_to_dir,test_yaffs_rename_file_to_dir_clean,"test_yaffs_rename_file_to_dir"},
394         {test_yaffs_rename_EEXISTS,test_yaffs_rename_EEXISTS_clean,"test_yaffs_rename_EEXISTS"},
395         {test_yaffs_rename_ELOOP_dir,test_yaffs_rename_ELOOP_dir_clean,"test_yaffs_rename_ELOOP_dir"},
396
397         {test_yaffs_lstat,test_yaffs_lstat_clean,"test_yaffs_lstat"},
398         {test_yaffs_lstat_ENOENT,test_yaffs_lstat_ENOENT_clean,"test_yaffs_lstat_ENOENT"},
399         {test_yaffs_lstat_ENOTDIR,test_yaffs_lstat_ENOTDIR_clean,"test_yaffs_lstat_ENOTDIR"},
400
401         {test_yaffs_flush,test_yaffs_flush_clean,"test_yaffs_flush"},
402         {test_yaffs_flush_EBADF,test_yaffs_flush_EBADF_clean,"test_yaffs_flush_EBADF"},
403         {test_yaffs_flush_EROFS,test_yaffs_flush_EROFS_clean,"test_yaffs_flush_EROFS"}
404
405         };
406
407 void init_quick_tests(int argc, char *argv[]);
408 void quit_quick_tests(int exit_code);
409 void get_error(void);
410 #endif