+}
+
+void format_test(const char *mountpt)
+{
+ int ret;
+
+ yaffs_start_up();
+
+ ret = yaffs_format(mountpt, 0, 0, 0);
+ printf("yaffs_format(...,0, 0, 0) of unmounted returned %d."
+ " Should return 0\n\n\n", ret);
+
+ yaffs_mount(mountpt);
+
+ ret = yaffs_format(mountpt, 0, 0, 0);
+ printf("yaffs_format(...,0, 0, 0) of mounted returned %d."
+ " Should return -1 (busy)\n\n\n", ret);
+
+ ret = yaffs_format(mountpt, 1, 0, 0);
+ printf("yaffs_format(...,1, 0, 0) of mounted returned %d."
+ " Should return 0.\n\n\n", ret);
+
+ ret = yaffs_mount(mountpt);
+ printf("mount should return 0 returned %d\n\n\n", ret);
+
+ ret = yaffs_format(mountpt, 1, 0, 1);
+ printf("yaffs_format(...,1, 0, 1) of mounted returned %d."
+ " Should return 0.\n\n\n", ret);
+
+ ret = yaffs_mount(mountpt);
+ printf("mount should return -1 returned %d\n", ret);
+}
+
+void dir_rename_test(const char *mountpt)
+{
+ char fname[100];
+ char dname[100];
+ int h;
+ int ret;
+
+ yaffs_start_up();
+ yaffs_mount(mountpt);
+
+ sprintf(fname,"%s/file",mountpt);
+ sprintf(dname,"%s/directory",mountpt);
+
+ h = yaffs_open(fname,O_CREAT | O_RDWR | O_TRUNC, 0666);
+ yaffs_close(h);
+
+ yaffs_mkdir(dname, 0666);
+
+ dump_directory_tree(mountpt);
+
+ printf("Try to rename %s to %s\n", fname, dname);
+ ret = yaffs_rename(fname, dname);
+ printf("result %d, %d\n", ret, yaffs_get_error());
+
+ printf("Try to rename %s to %s\n", dname, fname);
+ ret = yaffs_rename(dname, fname);
+ printf("result %d, %d\n", ret, yaffs_get_error());
+
+
+}
+
+
+void dir_fd_test(const char *mountpt)
+{
+ char name[100];
+ int h;
+ int i;
+
+ yaffs_start_up();
+ yaffs_mount(mountpt);
+
+ sprintf(name,"%s/directory",mountpt);
+ yaffs_mkdir(name, 0666);
+ for(i=0; i < 20; i++) {
+ sprintf(name,"%s/directory/file%d",mountpt, i);
+
+ h = yaffs_open(name, O_CREAT | O_TRUNC | O_RDWR, 0666);
+ yaffs_write(h, name, strlen(name));
+ yaffs_close(h);
+ }
+ sprintf(name,"%s/dddd",mountpt);
+ yaffs_mkdir(name, 0666);
+ for(i=0; i < 20; i++) {
+ sprintf(name,"%s/dddd/filezzz%d",mountpt, i);
+
+ h = yaffs_open(name, O_CREAT | O_TRUNC | O_RDWR, 0666);
+ yaffs_write(h, name, strlen(name));
+ yaffs_close(h);
+ }
+
+
+ dump_directory_tree(mountpt);
+ dump_directory_tree_fd(mountpt);
+ dump_directory_tree_fd(mountpt);