*** empty log message ***
[yaffs/.git] / direct / dtest.c
index 7f6963823aebe1aa1540fe8b3a809fa0d58e682f..965d808e113b8b1425ca2e6cd89a36133d07e05b 100644 (file)
@@ -286,6 +286,7 @@ int main(int argc, char *argv[])
        yaffs_mount("/boot");
        yaffs_mount("/data");
        yaffs_mount("/flash");
+       yaffs_mount("/ram");
        
        printf("\nDirectory look-up of /boot\n");
        dumpDir("/boot");
@@ -294,14 +295,17 @@ int main(int argc, char *argv[])
        printf("\nDirectory look-up of /flash\n");
        dumpDir("/flash");
 
-       leave_unlinked_file("/flash",20000,0);
-       leave_unlinked_file("/data",20000,0);
+       //leave_unlinked_file("/flash",20000,0);
+       //leave_unlinked_file("/data",20000,0);
+       
+       leave_unlinked_file("/ram",20,0);
+       
 
        f = yaffs_open("/boot/b1", O_RDONLY,0);
        
        printf("open /boot/b1 readonly, f=%d\n",f);
        
-       f = yaffs_open("/boot/b1", O_CREAT,0);
+       f = yaffs_open("/boot/b1", O_CREAT,S_IREAD | S_IWRITE);
        
        printf("open /boot/b1 O_CREAT, f=%d\n",f);
        
@@ -323,12 +327,12 @@ int main(int argc, char *argv[])
        r = yaffs_write(f,"world",3);
        printf("write %d attempted to write to a writeable file\n",r);
        
-       r= yaffs_lseek(f,SEEK_END,0);
+       r= yaffs_lseek(f,0,SEEK_END);
        printf("seek end %d\n",r);
        memset(buffer,0,20);
        r = yaffs_read(f,buffer,10);
        printf("read %d \"%s\"\n",r,buffer);
-       r= yaffs_lseek(f,SEEK_SET,0);
+       r= yaffs_lseek(f,0,SEEK_SET);
        printf("seek set %d\n",r);
        memset(buffer,0,20);
        r = yaffs_read(f,buffer,10);
@@ -336,7 +340,16 @@ int main(int argc, char *argv[])
        memset(buffer,0,20);
        r = yaffs_read(f,buffer,10);
        printf("read %d \"%s\"\n",r,buffer);
-       
+
+       // Check values reading at end.
+       // A read past end of file should return 0 for 0 bytes read.
+               
+       r= yaffs_lseek(f,0,SEEK_END);
+       r = yaffs_read(f,buffer,10);
+       printf("read at end returned  %d\n",r); 
+       r= yaffs_lseek(f,500,SEEK_END);
+       r = yaffs_read(f,buffer,10);
+       printf("read past end returned  %d\n",r);       
        
        r = yaffs_close(f);