2 * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
4 * Copyright (C) 2002-2010 Aleph One Ltd.
5 * for Toby Churchill Ltd and Brightstar Engineering
7 * Created by Timothy Manning <timothy@yaffs.net>
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.
13 * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
16 #ifndef __quick_tests_h__
17 #define __quick_tests_h__
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_ENOENT.h"
24 #include "test_yaffs_mount_EBUSY.h"
26 #include "test_yaffs_unmount.h"
28 #include "test_yaffs_open.h"
29 #include "test_yaffs_open_EISDIR.h"
30 #include "test_yaffs_open_EEXIST.h"
31 #include "test_yaffs_open_ENOENT.h"
32 #include "test_yaffs_open_ENOTDIR.h"
33 #include "test_yaffs_open_ENAMETOOLONG.h"
34 #include "test_yaffs_open_EINVAL.h"
35 #include "test_yaffs_open_EINVAL2.h"
37 #include "test_yaffs_close_EBADF.h"
40 #include "test_yaffs_unlink.h"
41 #include "test_yaffs_unlink_EISDIR.h"
42 #include "test_yaffs_unlink_ENOENT.h"
43 #include "test_yaffs_unlink_ENAMETOOLONG.h"
44 #include "test_yaffs_unlink_ENOTDIR.h"
45 #include "test_yaffs_unlink_ENOENT.h"
47 #include "test_yaffs_ftruncate.h"
48 #include "test_yaffs_ftruncate_EBADF.h"
49 #include "test_yaffs_ftruncate_EINVAL.h"
50 #include "test_yaffs_ftruncate_EFBIG.h"
53 #include "test_yaffs_truncate.h"
54 #include "test_yaffs_truncate_ENOTDIR.h"
55 #include "test_yaffs_truncate_EISDIR.h"
56 #include "test_yaffs_truncate_ENOENT.h"
57 #include "test_yaffs_truncate_EINVAL.h"
58 #include "test_yaffs_truncate_EFBIG.h"
60 #include "test_yaffs_write.h"
61 #include "test_yaffs_read.h"
63 #include "test_yaffs_lseek.h"
64 #include "test_yaffs_lseek_EBADF.h"
65 #include "test_yaffs_lseek_EINVAL.h"
66 #include "test_yaffs_lseek_EFBIG.h"
68 #include "test_yaffs_access.h"
69 #include "test_yaffs_access_EINVAL.h"
70 #include "test_yaffs_access_ENOTDIR.h"
71 #include "test_yaffs_access_ENOENT.h"
73 #include "test_yaffs_stat.h"
75 #include "yaffs_error_converter.h"
79 #define EXIT_ON_ERROR 0
82 int (*p_function)(void); /*pointer to test function*/
83 int (*p_function_clean)(void);
84 /*char pass_message[50]; will not need a pass message*/
85 char *name_of_test; /*pointer to fail message, needs to include name of test*/
89 test_template test_list[]={
90 {test_yaffs_mount,test_yaffs_mount_clean,"test_yaffs_mount"},
91 {test_yaffs_mount_ENODEV,test_yaffs_mount_ENODEV_clean,"test_yaffs_mount_ENODEV"},
92 // {test_yaffs_mount_ENAMETOOLONG,test_yaffs_mount_ENAMETOOLONG_clean,"test_yaffs_mount_ENAMETOOLONG"},
93 {test_yaffs_mount_ENOENT,test_yaffs_mount_ENOENT_clean,"test_yaffs_mount_ENOENT"},
94 {test_yaffs_mount_EBUSY,test_yaffs_mount_EBUSY_clean,"test_yaffs_mount_EBUSY"},
96 {test_yaffs_unmount,test_yaffs_unmount_clean,"test_yaffs_unmount"},
98 {test_yaffs_open,test_yaffs_open_clean,"test_yaffs_open"},
99 {test_yaffs_open_EISDIR,test_yaffs_open_EISDIR_clean,"test_yaffs_open_EISDIR"},
100 {test_yaffs_open_EEXIST,test_yaffs_open_EEXIST_clean,"test_yaffs_open_EEXIST"},
101 {test_yaffs_open_ENOTDIR,test_yaffs_open_ENOTDIR_clean,"test_yaffs_open_ENOTDIR"},
102 {test_yaffs_open_ENOENT,test_yaffs_open_ENOENT_clean,"test_yaffs_open_ENOENT"},
103 {test_yaffs_open_ENAMETOOLONG,test_yaffs_open_ENAMETOOLONG_clean,"test_yaffs_open_ENAMETOOLONG"},
104 {test_yaffs_open_EINVAL,test_yaffs_open_EINVAL_clean,"test_yaffs_open_EINVAL"},
105 {test_yaffs_open_EINVAL2,test_yaffs_open_EINVAL2_clean,"test_yaffs_open_EINVAL2"},
107 {test_yaffs_close_EBADF,test_yaffs_close_EBADF_clean,"test_yaffs_close_EBADF"},
109 {test_yaffs_access,test_yaffs_access_clean,"test_yaffs_access"},
110 {test_yaffs_access_EINVAL,test_yaffs_access_EINVAL_clean,"test_yaffs_access_EINVAL"},
111 {test_yaffs_access_ENOTDIR,test_yaffs_access_ENOTDIR_clean,"test_yaffs_access_ENOTDIR"},
112 {test_yaffs_access_ENOENT,test_yaffs_access_ENOENT_clean,"test_yaffs_access_ENOENT"},
114 {test_yaffs_unlink, test_yaffs_unlink_clean,"test_yaffs_unlink"},
115 {test_yaffs_unlink_EISDIR,test_yaffs_unlink_EISDIR_clean,"test_yaffs_unlink_EISDIR"},
116 {test_yaffs_unlink_ENOENT,test_yaffs_unlink_ENOENT_clean,"test_yaffs_unlink_ENOENT"},
117 {test_yaffs_unlink_ENAMETOOLONG,test_yaffs_unlink_ENAMETOOLONG_clean,"test_yaffs_unlink_ENAMETOOLONG"},
118 {test_yaffs_unlink_ENOTDIR,test_yaffs_unlink_ENOTDIR_clean,"test_yaffs_unlink_ENOTDIR"},
119 {test_yaffs_unlink_ENOENT,test_yaffs_unlink_ENOENT_clean,"test_yaffs_unlink_ENOENT"},
122 {test_yaffs_lseek,test_yaffs_lseek_clean,"test_yaffs_lseek"},
123 {test_yaffs_lseek_EBADF,test_yaffs_lseek_EBADF_clean,"test_yaffs_lseek_EBADF"},
124 {test_yaffs_lseek_EINVAL,test_yaffs_lseek_EINVAL_clean,"test_yaffs_lseek_EINVAL"},
125 {test_yaffs_lseek_EFBIG,test_yaffs_lseek_EFBIG_clean,"test_yaffs_lseek_EFBIG"},
127 {test_yaffs_write,test_yaffs_write_clean,"test_yaffs_write"},
128 {test_yaffs_read,test_yaffs_read_clean,"test_yaffs_read"},
131 {test_yaffs_stat,test_yaffs_stat_clean,"test_yaffs_stat"},
133 {test_yaffs_ftruncate,test_yaffs_ftruncate_clean,"test_yaffs_ftruncate"},
134 {test_yaffs_ftruncate_EBADF,test_yaffs_ftruncate_EBADF_clean,"test_yaffs_ftruncate_EBADF"},
135 {test_yaffs_ftruncate_EINVAL,test_yaffs_ftruncate_EINVAL_clean,"test_yaffs_ftruncate_EINVAL"},
136 {test_yaffs_ftruncate_EFBIG,test_yaffs_ftruncate_EFBIG_clean,"test_yaffs_ftruncate_EFBIG"},
138 {test_yaffs_truncate,test_yaffs_truncate_clean,"test_yaffs_truncate"},
139 {test_yaffs_truncate_ENOTDIR,test_yaffs_truncate_ENOTDIR_clean,"test_yaffs_truncate_ENOTDIR"},
140 {test_yaffs_truncate_EISDIR,test_yaffs_truncate_EISDIR_clean,"test_yaffs_truncate_EISDIR"},
141 {test_yaffs_truncate_EINVAL,test_yaffs_truncate_EINVAL_clean,"test_yaffs_truncate_EINVAL"},
142 {test_yaffs_truncate_ENOENT,test_yaffs_truncate_ENOENT_clean,"test_yaffs_truncate_ENOENT"},
143 {test_yaffs_truncate_EFBIG,test_yaffs_truncate_EFBIG_clean,"test_yaffs_truncate_EFBIG"}
146 void init_quick_tests(void);
147 void quit_quick_tests(int exit_code);
148 void get_error(void);