yaffs Some changes to the quick tests README.
[yaffs2.git] / direct / timothy_tests / quick_tests / test_yaffs_unlink_ENAMETOOLONG.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_unlink_ENAMETOOLONG.h"
15
16
17 static int handle=0;
18 int test_yaffs_unlink_ENAMETOOLONG(void){
19         int output=0;
20         int error_code=0;
21         int x=0;
22         int file_name_length=1000000;
23         char file_name[file_name_length];
24         
25         strcat(file_name,YAFFS_MOUNT_POINT);
26         for (x=strlen(YAFFS_MOUNT_POINT); x<file_name_length -1; x++){
27                 file_name[x]='a';
28         }
29         file_name[file_name_length-2]='\0';
30
31         /*printf("path %s\n",path); */
32         output=yaffs_unlink(file_name);
33         if (output==-1){
34                 error_code=yaffs_get_error();
35                 //printf("EISDIR def %d, Error code %d\n", EISDIR,error_code);
36                 if (abs(error_code)== EISDIR){
37                         return 1;
38                 }
39                 else {
40                         printf("different error than expected\n");
41                         return -1;
42                 }
43         }
44         else {
45                 printf("directory unlinked opened.(which is a bad thing)\n");
46                 return -1;
47         }
48         /* the program should not get here but the compiler is complaining */
49         return -1;
50 }
51 int test_yaffs_unlink_ENAMETOOLONG_clean(void){
52         if (handle >=0){
53                 return yaffs_close(handle);
54         }
55         else {
56                 return 1;       /* the file failed to open so there is no need to close it*/
57         }
58 }
59