#include "yaffsfs.h"
-#include "nor_stress.h"
void dumpDir(const char *dname);
}
-void fill_files(char *path,int flags, int maxIterations,int siz)
+void fill_files(const char *path,int flags, int maxIterations,int siz)
{
int i;
int j;
do{
sprintf(str,"%s/%d",path,i);
h = yaffs_open(str, O_CREAT | O_TRUNC | O_RDWR,S_IREAD | S_IWRITE);
- yaffs_close(h);
if(h >= 0)
{
}
+void fill_files_test(const char *mountpt)
+{
+ int i;
+ yaffs_StartUp();
+
+ for(i = 0; i < 5; i++)
+ {
+ yaffs_mount(mountpt);
+ fill_files(mountpt,2,3,100);
+ yaffs_unmount(mountpt);
+ }
+
+}
+
+void fill_empty_files_test(const char *mountpt)
+{
+ int i;
+ yaffs_StartUp();
+ char name[100];
+ int result = 0;
+
+ int d,f;
+
+ for(i = 0; i < 5; i++)
+ {
+ yaffs_mount(mountpt);
+ for(d = 0; result >= 0 && d < 1000; d++){
+ sprintf(name,"%s/%d",mountpt,d);
+ result= yaffs_mkdir(name,0);
+ printf("creating directory %s result %d\n",name,result);
+
+ for(f = 0; result >= 0 && f < 100; f++){
+ sprintf(name,"%s/%d/%d",mountpt,d,f);
+ result= yaffs_open(name,O_CREAT, 0);
+ yaffs_close(result);
+ printf("creating file %s result %d\n",name,result);
+ }
+ }
+ yaffs_unmount(mountpt);
+ }
+
+}
+
+void long_name_test(const char *mountpt)
+{
+ int i;
+ yaffs_StartUp();
+ char fullName[1000];
+ char name[300];
+ int result = 0;
+
+ int d,f;
+
+ // Make a 256 byte name
+ memset(name,0,sizeof(name));
+ for(i = 0; i < 256; i++)
+ name[i] = '0' + i % 10;
+
+ sprintf(fullName,"%s/%s",mountpt,name);
+
+ for(i = 0; i < 1; i++)
+ {
+ yaffs_mount(mountpt);
+
+ printf("Files at start\n");
+ dumpDir(mountpt);
+
+ printf("Creating file %s\n",fullName);
+
+ f = yaffs_open(fullName,O_CREAT | O_RDWR,0);
+ yaffs_close(f);
+
+ printf("Result %d\n",f);
+
+ printf("Files\n");
+ dumpDir(mountpt);
+
+ printf("Deleting %s\n",fullName);
+ result = yaffs_unlink(fullName);
+ printf("Result %d\n",result);
+
+ printf("Files\n");
+
+ dumpDir(mountpt);
+
+ yaffs_unmount(mountpt);
+ }
+
+}
+
void lookup_test(const char *mountpt)
{
}
-void link_test(const char *mountpt)
+void link_test0(const char *mountpt)
+{
+ int i;
+ char namea[300];
+ char nameb[300];
+ int result = 0;
+
+
+ yaffs_StartUp();
+ yaffs_mount(mountpt);
+
+
+ sprintf(namea,"%s/a",mountpt);
+ sprintf(nameb,"%s/b",mountpt);
+
+ printf("mounted\n");
+ dumpDir(mountpt);
+
+ yaffs_unlink(namea);
+ printf("a unlinked\n");
+ dumpDir(mountpt);
+
+ yaffs_unlink(nameb);
+ printf("b unlinked\n");
+ dumpDir(mountpt);
+
+ result = yaffs_open(namea,O_CREAT| O_RDWR,0666);
+ yaffs_close(result);
+ printf("a created\n");
+ dumpDir(mountpt);
+
+ yaffs_link(namea,nameb);
+ printf("linked\n");
+ dumpDir(mountpt);
+ yaffs_unlink(namea);
+ printf("a ulinked\n");
+ dumpDir(mountpt);
+ yaffs_unlink(nameb);
+ printf("b unlinked\n");
+ dumpDir(mountpt);
+
+ yaffs_unmount(mountpt);
+}
+
+
+void link_test1(const char *mountpt)
{
int i;
int h;
yaffs_mount(mountpt);
printf("link test done\n");
+}
+
+void handle_test(const char *mountpt)
+{
+ int i;
+ int h;
+ int cycle;
+ char a[100];
+
+ sprintf(a,"%s/aaa",mountpt);
+
+ yaffs_StartUp();
+ yaffs_mount(mountpt);
+
+ for(cycle = 0; cycle < 5; cycle++){
+ printf("Start cycle %d\n",cycle);
+ i = 0;
+ do {
+ h = yaffs_open(a, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE);
+ printf("%d handle %d\n",i,h);
+ i++;
+ } while(h >= 0);
+
+ while(i >= -1) {
+ yaffs_close(i);
+ i--;
+ }
+ }
+
+ yaffs_unmount(mountpt);
}
void freespace_test(const char *mountpt)
printf("Create start condition\n");
yaffs_StartUp();
- SetCheckpointReservedBlocks(0);
yaffs_mount(mountpt);
yaffs_mkdir(a,0);
sprintf(b,"%s/zz",a);
printf("Umount/mount attempt full\n");
yaffs_unmount(mountpt);
- SetCheckpointReservedBlocks(10);
yaffs_mount(mountpt);
printf("unlink small file\n");
//rename_over_test("//////////////////flash///////////////////yaffs1///////////");
- rmdir_test("/M18-1");
+ //fill_empty_files_test("/yaffs2/");
+ resize_stress_test("/yaffs2");
+ //long_name_test("/yaffs2");
+ //link_test0("/yaffs2");
+ //link_test1("yaffs2");
//scan_pattern_test("/flash",10000,10);
//short_scan_test("/flash/flash",40000,200);
//small_mount_test("/flash/flash",1000);
// huge_array_test("/flash/flash",10);
-
+ // handle_test("yaffs2/");
//long_test_on_path("/ram2k");
// long_test_on_path("/flash");