yaffs Some changes to the quick tests README.
[yaffs2.git] / direct / timothy_tests / quick_tests / test_yaffs_stat.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_stat.h"
15
16 int test_yaffs_stat(void){
17         int mode=0;
18         int size=0;
19         mode =yaffs_test_stat_mode();
20 /*      printf("\nmode %o\n",mode);
21         printf("expected mode %o \n",FILE_MODE);
22         printf("anding together %o\n",FILE_MODE & mode);
23         printf("%d\n",FILE_MODE == (FILE_MODE & mode));
24 */      if (FILE_MODE == (FILE_MODE & mode)){
25                 mode=1;
26         }
27         else {
28                 printf("mode did not match expected file mode\n");
29                 return -1;
30         }
31         size=yaffs_test_stat_size();
32         if (size==FILE_SIZE){
33                 size=1;
34         }
35         else {
36                 printf("file size %d, expected file size %d\n",size,FILE_SIZE);
37                 printf("mode did not match expected file mode\n");
38                 return -1;
39         }
40         
41         if (mode && size){
42                 return 1;
43         }
44         else {
45                 /* a test failed*/
46                 return -1;
47         }
48
49 }
50
51 int test_yaffs_stat_clean(void){
52         return 1;
53 }
54
55 int yaffs_test_stat_mode(void){
56         struct yaffs_stat stat;
57         int output=0;
58         output=yaffs_stat(FILE_PATH, &stat);
59         //printf("output: %d\n",output);
60         if (output>=0){
61                 return stat.st_mode;    
62         }
63         else {
64                 printf("failed to stat file\n") ;
65                 return -1;
66         }
67 }
68
69 int yaffs_test_stat_size(void){
70         struct yaffs_stat stat;
71         int output=0;
72         output=yaffs_stat(FILE_PATH, &stat); 
73         if (output>=0){
74                 return stat.st_size;    
75         }
76         else {
77                 printf("failed to stat file\n") ;
78                 return -1;
79         }
80 }
81
82