-
void fill_disk(char *path,int nfiles)
{
int h;
}
-int main(int argc, char *argv[])
+int long_test(int argc, char *argv[])
{
int f;
yaffs_mount("/boot");
yaffs_mount("/data");
yaffs_mount("/flash");
+ yaffs_mount("/ram");
printf("\nDirectory look-up of /boot\n");
dumpDir("/boot");
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);
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);
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);
return 0;
}
+
+
+
+int directory_rename_test(void)
+{
+ int r;
+ yaffs_StartUp();
+
+ yaffs_mount("/ram");
+ yaffs_mkdir("/ram/a",0);
+ yaffs_mkdir("/ram/a/b",0);
+ yaffs_mkdir("/ram/c",0);
+
+ printf("\nDirectory look-up of /ram\n");
+ dumpDir("/ram");
+ dumpDir("/ram/a");
+ dumpDir("/ram/a/b");
+
+ printf("Do rename (should fail)\n");
+
+ r = yaffs_rename("/ram/a","/ram/a/b/d");
+ printf("\nDirectory look-up of /ram\n");
+ dumpDir("/ram");
+ dumpDir("/ram/a");
+ dumpDir("/ram/a/b");
+
+ printf("Do rename (should not fail)\n");
+
+ r = yaffs_rename("/ram/c","/ram/a/b/d");
+ printf("\nDirectory look-up of /ram\n");
+ dumpDir("/ram");
+ dumpDir("/ram/a");
+ dumpDir("/ram/a/b");
+
+
+ return 1;
+
+}
+
+int main(int argc, char *argv[])
+{
+ //return long_test(argc,argv);
+
+ return directory_rename_test();
+
+}