yaffs Added some more tests to timothy_tests.
[yaffs2.git] / direct / timothy_tests / quick_tests / test_yaffs_access_EACCES.c
1 /*
2  * YAFFS: Yet another FFS. 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 General Public License version 2 as
11  * published by the Free Software Foundation.
12  */
13
14 #include "test_yaffs_access_EACCES.h"
15
16 int test_yaffs_access_EACCES(void)
17 {
18         int output=0;
19         int error=0;
20         output=yaffs_chmod(FILE_PATH,S_IREAD);
21         if (output<0){
22                 print_message("failed to chmod file\n",2);
23                 return -1;
24         }
25         output= yaffs_access(FILE_PATH,W_OK);
26         if (output<0){
27                 error=yaffs_get_error();
28                 if ( abs(error)== EACCES){
29                         return 1;
30                 } else {
31                         print_message("error does not match expected error\n",2);
32                         return -1;
33                 }
34         } else{
35                 print_message("accessed an existing file with bad mode (which is a bad thing\n",2);
36
37                 return -1;
38         }
39 }
40
41 int test_yaffs_access_EACCES_clean(void)
42 {
43         int output=0;
44         output=yaffs_chmod(FILE_PATH,S_IREAD|S_IWRITE);
45         if (output<0){
46                 print_message("failed to chmod file\n",2);
47                 return -1;
48         }
49         return 1;
50 }