Fix unmatched temporary buffer allocations
[yaffs2.git] / direct / test-framework / unit_tests / quick_tests / test_yaffs_rename_ENOTEMPTY.c
1 /*
2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system. 
3  *
4  * Copyright (C) 2002-2018 Aleph One Ltd.
5  *
6  * Created by Timothy Manning <timothy@yaffs.net>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1 as
10  * published by the Free Software Foundation.
11  *
12  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
13  */
14
15
16 #include "test_yaffs_rename_ENOTEMPTY.h"
17
18 int  test_yaffs_rename_ENOTEMPTY(void)
19 {
20
21         int output=0;
22         int error_code =0;
23
24         if (yaffs_mkdir(DIR_PATH,O_CREAT | O_RDWR)==-1){
25                 print_message("failed to create dir\n",1);
26                 return -1;
27         }
28         if (yaffs_mkdir(DIR_PATH2,O_CREAT | O_RDWR)==-1){
29                 print_message("failed to create dir2\n",1);
30                 return -1;
31         }
32         if (yaffs_close(yaffs_open(DIR_PATH2_FILE,O_CREAT | O_RDWR, FILE_MODE))==-1){
33                 print_message("failed to create file\n",1);
34                 return -1;
35         }
36         output = yaffs_rename( DIR_PATH,DIR_PATH2 );
37         if (output<0){ 
38                 error_code=yaffs_get_error();
39                 if (abs(error_code)==ENOTEMPTY){
40                         return 1;
41                 } else {
42                         print_message("different error than expected\n",2);
43                         return -1;
44                 }
45                 print_message("could not rename a directory over a nonempty directory (which is a bad thing)\n",2);
46                 return -1;
47         } 
48                 
49         return 1;
50
51 }
52
53
54 int  test_yaffs_rename_ENOTEMPTY_clean(void)
55 {
56         return 1;
57 }
58