From: Charles Manning Date: Thu, 8 Dec 2022 21:27:12 +0000 (+1300) Subject: yaffsfs.c: Fix NULL dereference in yaffs_unmount2_reldev() X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=HEAD;hp=42909262aa6077a60cf18dac024fd21df3b4b18a yaffsfs.c: Fix NULL dereference in yaffs_unmount2_reldev() Signed-off-by: Charles Manning --- diff --git a/.gitignore b/.gitignore index d4f60ef..ae483e2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,629 @@ DEADJOE /Module.symvers /.tmp_versions +# .swp files which are generated by open vim sessions. +*.swp + # # cscope files # cscope.* + +#emfile +emfile-* + +# here are the files that are copied into the direct folder. They are modified +# when they are copied. We don't want to track them. + +direct/yaffs_allocator.c +direct/yaffs_allocator.h +direct/yaffs_attribs.h +direct/yaffs_bitmap.c +direct/yaffs_bitmap.h +direct/yaffs_cache.c +direct/yaffs_cache.h +direct/yaffs_checkptrw.c +direct/yaffs_checkptrw.h +direct/yaffs_ecc.c +direct/yaffs_ecc.h +direct/yaffs_endian.c +direct/yaffs_endian.h +direct/yaffs_getblockinfo.h +direct/yaffs_guts.c +direct/yaffs_guts.h +direct/yaffs_nameval.c +direct/yaffs_nameval.h +direct/yaffs_nand.c +direct/yaffs_nand.h +direct/yaffs_packedtags1.c +direct/yaffs_packedtags1.h +direct/yaffs_packedtags2.c +direct/yaffs_packedtags2.h +direct/yaffs_summary.c +direct/yaffs_summary.h +direct/yaffs_tagscompat.c +direct/yaffs_tagscompat.h +direct/yaffs_tagsmarshall.c +direct/yaffs_tagsmarshall.h +direct/yaffs_trace.h +direct/yaffs_verify.c +direct/yaffs_verify.h +direct/yaffs_yaffs1.c +direct/yaffs_yaffs1.h +direct/yaffs_yaffs2.c +direct/yaffs_yaffs2.h + + + +# here are all the symlinks that yaffs direct uses +# we don't want to track them. +# this list was created using the command run in the root directory. +# $ find * -type l -not -exec grep -q "^{}$" .gitignore \; -print >> .gitignore + +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nanddrv.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_packedtags2.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nandsim.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_cache.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_hweight.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_ramem2k.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_flexible_file_sim.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_cache.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_m18_drv.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nandstore_file.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nand.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_bitmap.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_yaffs2.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_fileem2k.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_checkptrw.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_error.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_flashif.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_getblockinfo.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_list.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_ecc.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffsfs.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nand_drv.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/ydirectenv.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_allocator.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nanddrv.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_verify.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffsfs.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nandsim.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_ramdisk.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nand_chip.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_summary.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nameval.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_summary.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_checkptrw.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nand_store.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_endian.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_m18_drv.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_tagsmarshall.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_yaffs2.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nandsim_file.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_allocator.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yportenv.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_packedtags2.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_osglue.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_flashif2.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_tagsmarshall.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_endian.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nand_drv.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nandsim_file.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_fileem2k.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nor_drv.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_verify.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nandsim_file.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_packedtags1.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nor_drv.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/ynorsim.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nand.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_attribs.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_fileem.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_yaffs1.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_guts.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffscfg2k.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffscfg.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_flexible_file_sim.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_guts.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/ynorsim.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_ramdisk.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_hweight.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_packedtags1.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_trace.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_tagscompat.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_attribs.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_ecc.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_yaffs1.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_bitmap.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nameval.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nandemul2k.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_tagscompat.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_nandsim_file.h +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/yaffs_osglue.c +direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/nandstore_file.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nanddrv.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_packedtags2.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nandsim.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_cache.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_hweight.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_ramem2k.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_flexible_file_sim.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_cache.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_m18_drv.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nandstore_file.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nand.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_bitmap.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_yaffs2.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_fileem2k.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_checkptrw.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_error.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_flashif.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_getblockinfo.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_list.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_ecc.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffsfs.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nand_drv.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/ydirectenv.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_allocator.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nanddrv.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_verify.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffsfs.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nandsim.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_ramdisk.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nand_chip.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_summary.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nameval.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_summary.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_checkptrw.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nand_store.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_endian.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_m18_drv.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_tagsmarshall.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_yaffs2.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nandsim_file.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_allocator.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yportenv.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_packedtags2.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_osglue.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_flashif2.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_tagsmarshall.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_endian.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nand_drv.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nandsim_file.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_fileem2k.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nor_drv.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_verify.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nandsim_file.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_packedtags1.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nor_drv.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/ynorsim.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nand.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_attribs.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_fileem.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_yaffs1.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_guts.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffscfg2k.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffscfg.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_flexible_file_sim.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_guts.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/ynorsim.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_ramdisk.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_hweight.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_packedtags1.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_trace.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_tagscompat.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_attribs.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_ecc.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_yaffs1.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_bitmap.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nameval.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nandemul2k.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_tagscompat.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_nandsim_file.h +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/yaffs_osglue.c +direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/nandstore_file.c +direct/test-framework/unit_tests/is_yaffs_working_tests/nanddrv.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_packedtags2.h +direct/test-framework/unit_tests/is_yaffs_working_tests/nandsim.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_cache.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_hweight.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_ramem2k.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_flexible_file_sim.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_cache.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_m18_drv.c +direct/test-framework/unit_tests/is_yaffs_working_tests/nandstore_file.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nand.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_bitmap.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_yaffs2.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_fileem2k.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_checkptrw.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_error.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_flashif.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_getblockinfo.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_list.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_ecc.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffsfs.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nand_drv.c +direct/test-framework/unit_tests/is_yaffs_working_tests/ydirectenv.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_allocator.h +direct/test-framework/unit_tests/is_yaffs_working_tests/nanddrv.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_verify.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffsfs.c +direct/test-framework/unit_tests/is_yaffs_working_tests/nandsim.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_ramdisk.h +direct/test-framework/unit_tests/is_yaffs_working_tests/nand_chip.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_summary.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nameval.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_summary.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_checkptrw.c +direct/test-framework/unit_tests/is_yaffs_working_tests/nand_store.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_endian.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_m18_drv.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_tagsmarshall.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_yaffs2.h +direct/test-framework/unit_tests/is_yaffs_working_tests/nandsim_file.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_allocator.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yportenv.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_packedtags2.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_osglue.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_flashif2.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_tagsmarshall.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_endian.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nand_drv.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nandsim_file.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_fileem2k.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nor_drv.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_verify.c +direct/test-framework/unit_tests/is_yaffs_working_tests/nandsim_file.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_packedtags1.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nor_drv.c +direct/test-framework/unit_tests/is_yaffs_working_tests/ynorsim.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nand.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_attribs.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_fileem.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_yaffs1.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_guts.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffscfg2k.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffscfg.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_flexible_file_sim.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_guts.c +direct/test-framework/unit_tests/is_yaffs_working_tests/ynorsim.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_ramdisk.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_hweight.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_packedtags1.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_trace.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_tagscompat.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_attribs.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_ecc.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_yaffs1.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_bitmap.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nameval.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nandemul2k.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_tagscompat.c +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_nandsim_file.h +direct/test-framework/unit_tests/is_yaffs_working_tests/yaffs_osglue.c +direct/test-framework/unit_tests/is_yaffs_working_tests/nandstore_file.c +direct/test-framework/unit_tests/quick_tests/nanddrv.c +direct/test-framework/unit_tests/quick_tests/yaffs_packedtags2.h +direct/test-framework/unit_tests/quick_tests/nandsim.h +direct/test-framework/unit_tests/quick_tests/yaffs_cache.h +direct/test-framework/unit_tests/quick_tests/yaffs_hweight.c +direct/test-framework/unit_tests/quick_tests/yaffs_ramem2k.c +direct/test-framework/unit_tests/quick_tests/yaffs_flexible_file_sim.c +direct/test-framework/unit_tests/quick_tests/yaffs_cache.c +direct/test-framework/unit_tests/quick_tests/yaffs_m18_drv.c +direct/test-framework/unit_tests/quick_tests/nandstore_file.h +direct/test-framework/unit_tests/quick_tests/yaffs_nand.c +direct/test-framework/unit_tests/quick_tests/yaffs_bitmap.h +direct/test-framework/unit_tests/quick_tests/yaffs_yaffs2.c +direct/test-framework/unit_tests/quick_tests/yaffs_fileem2k.h +direct/test-framework/unit_tests/quick_tests/yaffs_checkptrw.h +direct/test-framework/unit_tests/quick_tests/yaffs_error.c +direct/test-framework/unit_tests/quick_tests/yaffs_flashif.h +direct/test-framework/unit_tests/quick_tests/yaffs_getblockinfo.h +direct/test-framework/unit_tests/quick_tests/yaffs_list.h +direct/test-framework/unit_tests/quick_tests/yaffs_ecc.c +direct/test-framework/unit_tests/quick_tests/yaffsfs.h +direct/test-framework/unit_tests/quick_tests/yaffs_nand_drv.c +direct/test-framework/unit_tests/quick_tests/ydirectenv.h +direct/test-framework/unit_tests/quick_tests/yaffs_allocator.h +direct/test-framework/unit_tests/quick_tests/nanddrv.h +direct/test-framework/unit_tests/quick_tests/yaffs_verify.h +direct/test-framework/unit_tests/quick_tests/yaffsfs.c +direct/test-framework/unit_tests/quick_tests/nandsim.c +direct/test-framework/unit_tests/quick_tests/yaffs_ramdisk.h +direct/test-framework/unit_tests/quick_tests/nand_chip.h +direct/test-framework/unit_tests/quick_tests/yaffs_summary.h +direct/test-framework/unit_tests/quick_tests/yaffs_nameval.c +direct/test-framework/unit_tests/quick_tests/yaffs_summary.c +direct/test-framework/unit_tests/quick_tests/yaffs_checkptrw.c +direct/test-framework/unit_tests/quick_tests/nand_store.h +direct/test-framework/unit_tests/quick_tests/yaffs_endian.c +direct/test-framework/unit_tests/quick_tests/yaffs_m18_drv.h +direct/test-framework/unit_tests/quick_tests/yaffs_tagsmarshall.c +direct/test-framework/unit_tests/quick_tests/yaffs_yaffs2.h +direct/test-framework/unit_tests/quick_tests/nandsim_file.c +direct/test-framework/unit_tests/quick_tests/yaffs_allocator.c +direct/test-framework/unit_tests/quick_tests/yportenv.h +direct/test-framework/unit_tests/quick_tests/yaffs_packedtags2.c +direct/test-framework/unit_tests/quick_tests/yaffs_osglue.h +direct/test-framework/unit_tests/quick_tests/yaffs_flashif2.h +direct/test-framework/unit_tests/quick_tests/yaffs_tagsmarshall.h +direct/test-framework/unit_tests/quick_tests/yaffs_endian.h +direct/test-framework/unit_tests/quick_tests/yaffs_nand_drv.h +direct/test-framework/unit_tests/quick_tests/yaffs_nandsim_file.c +direct/test-framework/unit_tests/quick_tests/yaffs_fileem2k.c +direct/test-framework/unit_tests/quick_tests/yaffs_nor_drv.h +direct/test-framework/unit_tests/quick_tests/yaffs_verify.c +direct/test-framework/unit_tests/quick_tests/nandsim_file.h +direct/test-framework/unit_tests/quick_tests/yaffs_packedtags1.c +direct/test-framework/unit_tests/quick_tests/yaffs_nor_drv.c +direct/test-framework/unit_tests/quick_tests/ynorsim.c +direct/test-framework/unit_tests/quick_tests/yaffs_nand.h +direct/test-framework/unit_tests/quick_tests/yaffs_attribs.h +direct/test-framework/unit_tests/quick_tests/yaffs_fileem.c +direct/test-framework/unit_tests/quick_tests/yaffs_yaffs1.c +direct/test-framework/unit_tests/quick_tests/yaffs_guts.h +direct/test-framework/unit_tests/quick_tests/yaffscfg2k.c +direct/test-framework/unit_tests/quick_tests/yaffscfg.h +direct/test-framework/unit_tests/quick_tests/yaffs_flexible_file_sim.h +direct/test-framework/unit_tests/quick_tests/yaffs_guts.c +direct/test-framework/unit_tests/quick_tests/ynorsim.h +direct/test-framework/unit_tests/quick_tests/yaffs_ramdisk.c +direct/test-framework/unit_tests/quick_tests/yaffs_hweight.h +direct/test-framework/unit_tests/quick_tests/yaffs_packedtags1.h +direct/test-framework/unit_tests/quick_tests/yaffs_trace.h +direct/test-framework/unit_tests/quick_tests/yaffs_tagscompat.h +direct/test-framework/unit_tests/quick_tests/yaffs_attribs.c +direct/test-framework/unit_tests/quick_tests/yaffs_ecc.h +direct/test-framework/unit_tests/quick_tests/yaffs_yaffs1.h +direct/test-framework/unit_tests/quick_tests/yaffs_bitmap.c +direct/test-framework/unit_tests/quick_tests/yaffs_nameval.h +direct/test-framework/unit_tests/quick_tests/yaffs_nandemul2k.h +direct/test-framework/unit_tests/quick_tests/yaffs_tagscompat.c +direct/test-framework/unit_tests/quick_tests/yaffs_nandsim_file.h +direct/test-framework/unit_tests/quick_tests/yaffs_osglue.c +direct/test-framework/unit_tests/quick_tests/nandstore_file.c +direct/test-framework/stress_tests/stress_tester/nanddrv.c +direct/test-framework/stress_tests/stress_tester/yaffs_packedtags2.h +direct/test-framework/stress_tests/stress_tester/nandsim.h +direct/test-framework/stress_tests/stress_tester/yaffs_cache.h +direct/test-framework/stress_tests/stress_tester/yaffs_hweight.c +direct/test-framework/stress_tests/stress_tester/yaffs_ramem2k.c +direct/test-framework/stress_tests/stress_tester/yaffs_flexible_file_sim.c +direct/test-framework/stress_tests/stress_tester/yaffs_cache.c +direct/test-framework/stress_tests/stress_tester/yaffs_m18_drv.c +direct/test-framework/stress_tests/stress_tester/nandstore_file.h +direct/test-framework/stress_tests/stress_tester/yaffs_nand.c +direct/test-framework/stress_tests/stress_tester/yaffs_bitmap.h +direct/test-framework/stress_tests/stress_tester/yaffs_yaffs2.c +direct/test-framework/stress_tests/stress_tester/yaffs_fileem2k.h +direct/test-framework/stress_tests/stress_tester/yaffs_checkptrw.h +direct/test-framework/stress_tests/stress_tester/yaffs_error.c +direct/test-framework/stress_tests/stress_tester/yaffs_flashif.h +direct/test-framework/stress_tests/stress_tester/yaffs_getblockinfo.h +direct/test-framework/stress_tests/stress_tester/yaffs_list.h +direct/test-framework/stress_tests/stress_tester/yaffs_ecc.c +direct/test-framework/stress_tests/stress_tester/yaffsfs.h +direct/test-framework/stress_tests/stress_tester/yaffs_nand_drv.c +direct/test-framework/stress_tests/stress_tester/ydirectenv.h +direct/test-framework/stress_tests/stress_tester/yaffs_allocator.h +direct/test-framework/stress_tests/stress_tester/nanddrv.h +direct/test-framework/stress_tests/stress_tester/yaffs_verify.h +direct/test-framework/stress_tests/stress_tester/yaffsfs.c +direct/test-framework/stress_tests/stress_tester/nandsim.c +direct/test-framework/stress_tests/stress_tester/yaffs_ramdisk.h +direct/test-framework/stress_tests/stress_tester/nand_chip.h +direct/test-framework/stress_tests/stress_tester/yaffs_summary.h +direct/test-framework/stress_tests/stress_tester/yaffs_nameval.c +direct/test-framework/stress_tests/stress_tester/yaffs_summary.c +direct/test-framework/stress_tests/stress_tester/yaffs_checkptrw.c +direct/test-framework/stress_tests/stress_tester/nand_store.h +direct/test-framework/stress_tests/stress_tester/yaffs_endian.c +direct/test-framework/stress_tests/stress_tester/yaffs_m18_drv.h +direct/test-framework/stress_tests/stress_tester/yaffs_tagsmarshall.c +direct/test-framework/stress_tests/stress_tester/yaffs_yaffs2.h +direct/test-framework/stress_tests/stress_tester/nandsim_file.c +direct/test-framework/stress_tests/stress_tester/yaffs_allocator.c +direct/test-framework/stress_tests/stress_tester/yportenv.h +direct/test-framework/stress_tests/stress_tester/yaffs_packedtags2.c +direct/test-framework/stress_tests/stress_tester/yaffs_osglue.h +direct/test-framework/stress_tests/stress_tester/yaffs_flashif2.h +direct/test-framework/stress_tests/stress_tester/yaffs_tagsmarshall.h +direct/test-framework/stress_tests/stress_tester/yaffs_endian.h +direct/test-framework/stress_tests/stress_tester/yaffs_nand_drv.h +direct/test-framework/stress_tests/stress_tester/yaffs_nandsim_file.c +direct/test-framework/stress_tests/stress_tester/yaffs_fileem2k.c +direct/test-framework/stress_tests/stress_tester/yaffs_nor_drv.h +direct/test-framework/stress_tests/stress_tester/yaffs_verify.c +direct/test-framework/stress_tests/stress_tester/nandsim_file.h +direct/test-framework/stress_tests/stress_tester/yaffs_packedtags1.c +direct/test-framework/stress_tests/stress_tester/yaffs_nor_drv.c +direct/test-framework/stress_tests/stress_tester/ynorsim.c +direct/test-framework/stress_tests/stress_tester/yaffs_nand.h +direct/test-framework/stress_tests/stress_tester/yaffs_attribs.h +direct/test-framework/stress_tests/stress_tester/yaffs_fileem.c +direct/test-framework/stress_tests/stress_tester/yaffs_yaffs1.c +direct/test-framework/stress_tests/stress_tester/yaffs_guts.h +direct/test-framework/stress_tests/stress_tester/yaffscfg2k.c +direct/test-framework/stress_tests/stress_tester/yaffscfg.h +direct/test-framework/stress_tests/stress_tester/yaffs_flexible_file_sim.h +direct/test-framework/stress_tests/stress_tester/yaffs_guts.c +direct/test-framework/stress_tests/stress_tester/ynorsim.h +direct/test-framework/stress_tests/stress_tester/yaffs_ramdisk.c +direct/test-framework/stress_tests/stress_tester/yaffs_hweight.h +direct/test-framework/stress_tests/stress_tester/yaffs_packedtags1.h +direct/test-framework/stress_tests/stress_tester/yaffs_trace.h +direct/test-framework/stress_tests/stress_tester/yaffs_tagscompat.h +direct/test-framework/stress_tests/stress_tester/yaffs_attribs.c +direct/test-framework/stress_tests/stress_tester/yaffs_ecc.h +direct/test-framework/stress_tests/stress_tester/yaffs_yaffs1.h +direct/test-framework/stress_tests/stress_tester/yaffs_bitmap.c +direct/test-framework/stress_tests/stress_tester/yaffs_nameval.h +direct/test-framework/stress_tests/stress_tester/yaffs_nandemul2k.h +direct/test-framework/stress_tests/stress_tester/yaffs_tagscompat.c +direct/test-framework/stress_tests/stress_tester/yaffs_nandsim_file.h +direct/test-framework/stress_tests/stress_tester/yaffs_osglue.c +direct/test-framework/stress_tests/stress_tester/nandstore_file.c +direct/test-framework/stress_tests/threading/nanddrv.c +direct/test-framework/stress_tests/threading/yaffs_packedtags2.h +direct/test-framework/stress_tests/threading/nandsim.h +direct/test-framework/stress_tests/threading/yaffs_cache.h +direct/test-framework/stress_tests/threading/yaffs_hweight.c +direct/test-framework/stress_tests/threading/yaffs_ramem2k.c +direct/test-framework/stress_tests/threading/yaffs_flexible_file_sim.c +direct/test-framework/stress_tests/threading/yaffs_cache.c +direct/test-framework/stress_tests/threading/yaffs_m18_drv.c +direct/test-framework/stress_tests/threading/nandstore_file.h +direct/test-framework/stress_tests/threading/yaffs_nand.c +direct/test-framework/stress_tests/threading/yaffs_bitmap.h +direct/test-framework/stress_tests/threading/yaffs_yaffs2.c +direct/test-framework/stress_tests/threading/yaffs_fileem2k.h +direct/test-framework/stress_tests/threading/yaffs_checkptrw.h +direct/test-framework/stress_tests/threading/yaffs_error.c +direct/test-framework/stress_tests/threading/yaffs_flashif.h +direct/test-framework/stress_tests/threading/yaffs_getblockinfo.h +direct/test-framework/stress_tests/threading/yaffs_list.h +direct/test-framework/stress_tests/threading/yaffs_ecc.c +direct/test-framework/stress_tests/threading/yaffsfs.h +direct/test-framework/stress_tests/threading/yaffs_nand_drv.c +direct/test-framework/stress_tests/threading/ydirectenv.h +direct/test-framework/stress_tests/threading/yaffs_allocator.h +direct/test-framework/stress_tests/threading/nanddrv.h +direct/test-framework/stress_tests/threading/yaffs_verify.h +direct/test-framework/stress_tests/threading/yaffsfs.c +direct/test-framework/stress_tests/threading/nandsim.c +direct/test-framework/stress_tests/threading/yaffs_ramdisk.h +direct/test-framework/stress_tests/threading/nand_chip.h +direct/test-framework/stress_tests/threading/yaffs_summary.h +direct/test-framework/stress_tests/threading/yaffs_nameval.c +direct/test-framework/stress_tests/threading/yaffs_summary.c +direct/test-framework/stress_tests/threading/yaffs_checkptrw.c +direct/test-framework/stress_tests/threading/nand_store.h +direct/test-framework/stress_tests/threading/yaffs_endian.c +direct/test-framework/stress_tests/threading/yaffs_m18_drv.h +direct/test-framework/stress_tests/threading/yaffs_tagsmarshall.c +direct/test-framework/stress_tests/threading/yaffs_yaffs2.h +direct/test-framework/stress_tests/threading/nandsim_file.c +direct/test-framework/stress_tests/threading/yaffs_allocator.c +direct/test-framework/stress_tests/threading/yportenv.h +direct/test-framework/stress_tests/threading/yaffs_packedtags2.c +direct/test-framework/stress_tests/threading/yaffs_osglue.h +direct/test-framework/stress_tests/threading/yaffs_flashif2.h +direct/test-framework/stress_tests/threading/yaffs_tagsmarshall.h +direct/test-framework/stress_tests/threading/yaffs_endian.h +direct/test-framework/stress_tests/threading/yaffs_nand_drv.h +direct/test-framework/stress_tests/threading/yaffs_nandsim_file.c +direct/test-framework/stress_tests/threading/yaffs_fileem2k.c +direct/test-framework/stress_tests/threading/yaffs_nor_drv.h +direct/test-framework/stress_tests/threading/yaffs_verify.c +direct/test-framework/stress_tests/threading/nandsim_file.h +direct/test-framework/stress_tests/threading/yaffs_packedtags1.c +direct/test-framework/stress_tests/threading/yaffs_nor_drv.c +direct/test-framework/stress_tests/threading/ynorsim.c +direct/test-framework/stress_tests/threading/yaffs_nand.h +direct/test-framework/stress_tests/threading/yaffs_attribs.h +direct/test-framework/stress_tests/threading/yaffs_fileem.c +direct/test-framework/stress_tests/threading/yaffs_yaffs1.c +direct/test-framework/stress_tests/threading/yaffs_guts.h +direct/test-framework/stress_tests/threading/yaffscfg2k.c +direct/test-framework/stress_tests/threading/yaffscfg.h +direct/test-framework/stress_tests/threading/yaffs_flexible_file_sim.h +direct/test-framework/stress_tests/threading/yaffs_guts.c +direct/test-framework/stress_tests/threading/ynorsim.h +direct/test-framework/stress_tests/threading/yaffs_ramdisk.c +direct/test-framework/stress_tests/threading/yaffs_hweight.h +direct/test-framework/stress_tests/threading/yaffs_packedtags1.h +direct/test-framework/stress_tests/threading/yaffs_trace.h +direct/test-framework/stress_tests/threading/yaffs_tagscompat.h +direct/test-framework/stress_tests/threading/yaffs_attribs.c +direct/test-framework/stress_tests/threading/yaffs_ecc.h +direct/test-framework/stress_tests/threading/yaffs_yaffs1.h +direct/test-framework/stress_tests/threading/yaffs_bitmap.c +direct/test-framework/stress_tests/threading/yaffs_nameval.h +direct/test-framework/stress_tests/threading/yaffs_nandemul2k.h +direct/test-framework/stress_tests/threading/yaffs_tagscompat.c +direct/test-framework/stress_tests/threading/yaffs_nandsim_file.h +direct/test-framework/stress_tests/threading/yaffs_osglue.c +direct/test-framework/stress_tests/threading/nandstore_file.c +direct/test-framework/stress_tests/handle_tests/nanddrv.c +direct/test-framework/stress_tests/handle_tests/yaffs_packedtags2.h +direct/test-framework/stress_tests/handle_tests/nandsim.h +direct/test-framework/stress_tests/handle_tests/yaffs_cache.h +direct/test-framework/stress_tests/handle_tests/yaffs_hweight.c +direct/test-framework/stress_tests/handle_tests/yaffs_ramem2k.c +direct/test-framework/stress_tests/handle_tests/yaffs_flexible_file_sim.c +direct/test-framework/stress_tests/handle_tests/yaffs_cache.c +direct/test-framework/stress_tests/handle_tests/yaffs_m18_drv.c +direct/test-framework/stress_tests/handle_tests/nandstore_file.h +direct/test-framework/stress_tests/handle_tests/yaffs_nand.c +direct/test-framework/stress_tests/handle_tests/yaffs_bitmap.h +direct/test-framework/stress_tests/handle_tests/yaffs_yaffs2.c +direct/test-framework/stress_tests/handle_tests/yaffs_fileem2k.h +direct/test-framework/stress_tests/handle_tests/yaffs_checkptrw.h +direct/test-framework/stress_tests/handle_tests/yaffs_error.c +direct/test-framework/stress_tests/handle_tests/yaffs_flashif.h +direct/test-framework/stress_tests/handle_tests/yaffs_getblockinfo.h +direct/test-framework/stress_tests/handle_tests/yaffs_list.h +direct/test-framework/stress_tests/handle_tests/yaffs_ecc.c +direct/test-framework/stress_tests/handle_tests/yaffsfs.h +direct/test-framework/stress_tests/handle_tests/yaffs_nand_drv.c +direct/test-framework/stress_tests/handle_tests/ydirectenv.h +direct/test-framework/stress_tests/handle_tests/yaffs_allocator.h +direct/test-framework/stress_tests/handle_tests/nanddrv.h +direct/test-framework/stress_tests/handle_tests/yaffs_verify.h +direct/test-framework/stress_tests/handle_tests/yaffsfs.c +direct/test-framework/stress_tests/handle_tests/nandsim.c +direct/test-framework/stress_tests/handle_tests/yaffs_ramdisk.h +direct/test-framework/stress_tests/handle_tests/nand_chip.h +direct/test-framework/stress_tests/handle_tests/yaffs_summary.h +direct/test-framework/stress_tests/handle_tests/yaffs_nameval.c +direct/test-framework/stress_tests/handle_tests/yaffs_summary.c +direct/test-framework/stress_tests/handle_tests/yaffs_checkptrw.c +direct/test-framework/stress_tests/handle_tests/nand_store.h +direct/test-framework/stress_tests/handle_tests/yaffs_endian.c +direct/test-framework/stress_tests/handle_tests/yaffs_m18_drv.h +direct/test-framework/stress_tests/handle_tests/yaffs_tagsmarshall.c +direct/test-framework/stress_tests/handle_tests/yaffs_yaffs2.h +direct/test-framework/stress_tests/handle_tests/nandsim_file.c +direct/test-framework/stress_tests/handle_tests/yaffs_allocator.c +direct/test-framework/stress_tests/handle_tests/yportenv.h +direct/test-framework/stress_tests/handle_tests/yaffs_packedtags2.c +direct/test-framework/stress_tests/handle_tests/yaffs_osglue.h +direct/test-framework/stress_tests/handle_tests/yaffs_flashif2.h +direct/test-framework/stress_tests/handle_tests/yaffs_tagsmarshall.h +direct/test-framework/stress_tests/handle_tests/yaffs_endian.h +direct/test-framework/stress_tests/handle_tests/yaffs_nand_drv.h +direct/test-framework/stress_tests/handle_tests/yaffs_nandsim_file.c +direct/test-framework/stress_tests/handle_tests/yaffs_fileem2k.c +direct/test-framework/stress_tests/handle_tests/yaffs_nor_drv.h +direct/test-framework/stress_tests/handle_tests/yaffs_verify.c +direct/test-framework/stress_tests/handle_tests/nandsim_file.h +direct/test-framework/stress_tests/handle_tests/yaffs_packedtags1.c +direct/test-framework/stress_tests/handle_tests/yaffs_nor_drv.c +direct/test-framework/stress_tests/handle_tests/ynorsim.c +direct/test-framework/stress_tests/handle_tests/yaffs_nand.h +direct/test-framework/stress_tests/handle_tests/yaffs_attribs.h +direct/test-framework/stress_tests/handle_tests/yaffs_fileem.c +direct/test-framework/stress_tests/handle_tests/yaffs_yaffs1.c +direct/test-framework/stress_tests/handle_tests/yaffs_guts.h +direct/test-framework/stress_tests/handle_tests/yaffscfg2k.c +direct/test-framework/stress_tests/handle_tests/yaffscfg.h +direct/test-framework/stress_tests/handle_tests/yaffs_flexible_file_sim.h +direct/test-framework/stress_tests/handle_tests/yaffs_guts.c +direct/test-framework/stress_tests/handle_tests/ynorsim.h +direct/test-framework/stress_tests/handle_tests/yaffs_ramdisk.c +direct/test-framework/stress_tests/handle_tests/yaffs_hweight.h +direct/test-framework/stress_tests/handle_tests/yaffs_packedtags1.h +direct/test-framework/stress_tests/handle_tests/yaffs_trace.h +direct/test-framework/stress_tests/handle_tests/yaffs_tagscompat.h +direct/test-framework/stress_tests/handle_tests/yaffs_attribs.c +direct/test-framework/stress_tests/handle_tests/yaffs_ecc.h +direct/test-framework/stress_tests/handle_tests/yaffs_yaffs1.h +direct/test-framework/stress_tests/handle_tests/yaffs_bitmap.c +direct/test-framework/stress_tests/handle_tests/yaffs_nameval.h +direct/test-framework/stress_tests/handle_tests/yaffs_nandemul2k.h +direct/test-framework/stress_tests/handle_tests/yaffs_tagscompat.c +direct/test-framework/stress_tests/handle_tests/yaffs_nandsim_file.h +direct/test-framework/stress_tests/handle_tests/yaffs_osglue.c +direct/test-framework/stress_tests/handle_tests/nandstore_file.c diff --git a/direct/handle_common.sh b/direct/handle_common.sh index f46ee53..28edb6f 100755 --- a/direct/handle_common.sh +++ b/direct/handle_common.sh @@ -34,6 +34,8 @@ set -e -x -e "s/strncmp/yaffs_strncmp/g"\ -e "s/loff_t/Y_LOFF_T/g" \ >$i + + chmod 0444 $i done elif [ "$1" = "clean" ] ; then for i in $YAFFS_COMMON_SOURCES ; do diff --git a/direct/test-framework/FrameworkRules.mk b/direct/test-framework/FrameworkRules.mk index bf7ae0c..2efa240 100644 --- a/direct/test-framework/FrameworkRules.mk +++ b/direct/test-framework/FrameworkRules.mk @@ -17,7 +17,7 @@ #EXTRA_COMPILE_FLAGS = -DYAFFS_IGNORE_TAGS_ECC -CFLAGS = -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_YAFFS2 -DCONFIG_YAFFS_DEFINES_TYPES +CFLAGS += -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_YAFFS2 -DCONFIG_YAFFS_DEFINES_TYPES CFLAGS += -DCONFIG_YAFFS_PROVIDE_DEFS -DCONFIG_YAFFSFS_PROVIDE_VALUES CFLAGS += -DCONFIG_YAFFS_MONITOR_MALLOC CFLAGS += -Wall -g $(EXTRA_COMPILE_FLAGS) -Wstrict-aliasing -Werror @@ -28,7 +28,7 @@ CFLAGS += -Wextra -Wpointer-arith #CFLAGS+= -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations #CFLAGS+= -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Winline - +CLEAN_OBJS += emfile-2k-0 emfile-nand emfile-nand128MB COMMONTESTOBJS = yaffscfg2k.o yaffs_osglue.o yaffs_hweight.o yaffs_error.o\ yaffs_ecc.o yaffs_fileem.o yaffs_fileem2k.o yaffsfs.o yaffs_guts.o \ @@ -108,4 +108,3 @@ $(FRAMEWORKEXTRASYMLINKS): ln -s $(YDI_FRAMEWORK_DIR)/$@ $@ $(ALLOBJS): %.o: %.c - gcc -c $(CFLAGS) -o $@ $< diff --git a/direct/test-framework/basic-tests/Makefile b/direct/test-framework/basic-tests/Makefile index 3535381..7d219ef 100644 --- a/direct/test-framework/basic-tests/Makefile +++ b/direct/test-framework/basic-tests/Makefile @@ -21,16 +21,20 @@ YDI_DIR = ../../ YDI_FRAMEWORK_DIR = ../ -TARGETS = directtest2k +TARGETS = directtest2k reldevtest all: $(TARGETS) DIRECTTESTOBJS = $(COMMONTESTOBJS) dtest.o +RELDEVOBJS = $(COMMONTESTOBJS) reldevtest.o -ALL_UNSORTED_OBJS += $(DIRECTTESTOBJS) +ALL_UNSORTED_OBJS += $(DIRECTTESTOBJS) $(RELDEVOBJS) include ../FrameworkRules.mk -directtest2k: $(FRAMEWORK_SOURCES) $(DIRECTTESTOBJS) +directtest2k: $(FRAMEWORK_SOURCES) $(DIRECTTESTOBJS) Makefile gcc -o $@ $(DIRECTTESTOBJS) -lpthread +reldevtest: $(FRAMEWORK_SOURCES) $(RELDEVOBJS) Makefile + gcc -o $@ $(RELDEVOBJS) -lpthread + diff --git a/direct/test-framework/basic-tests/README.txt b/direct/test-framework/basic-tests/README.txt new file mode 100644 index 0000000..1891a32 --- /dev/null +++ b/direct/test-framework/basic-tests/README.txt @@ -0,0 +1,13 @@ +basic-tests README + +This test is where we write a tests to +reproduce errors that are hard to recreate. + +These errors frequently require yaffs to be put +into abnormal states, which will not work well in +normal test rig. + +The solutions are manually verified here. + +This is not designed to be run by you as a test rig. +It is just here for us to use for debugging purposes. diff --git a/direct/test-framework/basic-tests/dtest.c b/direct/test-framework/basic-tests/dtest.c index 405f00a..60d1749 100644 --- a/direct/test-framework/basic-tests/dtest.c +++ b/direct/test-framework/basic-tests/dtest.c @@ -18,9 +18,11 @@ #include #include + #include "yaffsfs.h" #include "yaffs_guts.h" /* Only for dumping device innards */ +#include "yaffs_endian.h" /*For testing the swap_u64 macro */ extern int yaffs_trace_mask; @@ -2662,6 +2664,7 @@ void basic_utime_test(const char *mountpt) struct yaffs_utimbuf utb; struct yaffs_stat st; + //setup yaffs_start_up(); yaffs_mount(mountpt); @@ -2676,16 +2679,21 @@ void basic_utime_test(const char *mountpt) h = yaffs_open(name,O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE); yaffs_fstat(h,&st); - printf(" times %lu %lu %lu\n", - st.yst_atime, st.yst_ctime, st.yst_mtime); + printf(" times before %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); + //here are the last access and modification times. utb.actime = 1000; utb.modtime = 2000; + + //futime sets the last modification and access time of the file result = yaffs_futime(h,&utb); - printf("futime to a 1000 m 2000 result %d\n",result); + printf("setting times using the futime function to a 1000 m 2000 result %d\n",result); + + //read the times from the file header yaffs_fstat(h,&st); - printf(" times %lu %lu %lu\n", - st.yst_atime, st.yst_ctime, st.yst_mtime); + printf(" times %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); utb.actime = 5000; @@ -2693,18 +2701,154 @@ void basic_utime_test(const char *mountpt) result = yaffs_utime(name, &utb); printf("utime to a 5000 m 8000 result %d\n",result); yaffs_fstat(h,&st); - printf(" times %lu %lu %lu\n", - st.yst_atime, st.yst_ctime, st.yst_mtime); + printf(" times %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); result = yaffs_utime(name, NULL); printf("utime to NULL result %d\n",result); yaffs_fstat(h,&st); - printf(" times %lu %lu %lu\n", - st.yst_atime, st.yst_ctime, st.yst_mtime); + printf(" times %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); } +void print_binary(u64 val){ + int count = 0; + for (int i= 63; i>=0; i --) { + if (count == 0){ + printf(" "); + } + if ((((u64)1) << i) & val) { + printf("1"); + } else { + printf("0"); + } + count = (count +1) % 8; + } +} + +void testing_swap_u64() { + int numberOfFailedTests = 0; + for (int i =0; i < 8; i ++) { + u64 startingNumber = (0xffLLu << (i*8)); + u64 expected = (0xffLLu << (64 - (i*8) -8)); + u64 converted = swap_u64(startingNumber); + if (converted != expected) { + numberOfFailedTests ++; + printf("numbers do not match.\n"); + printf("0xff\t\t\t"); + print_binary(0xff); + printf("\nStarting Number \t"); + print_binary(startingNumber); + printf("\nExpecting \t\t"); + print_binary(expected); + printf("\nConverted \t\t"); + print_binary(converted); + + printf("\n"); + } + } + if (numberOfFailedTests){ + printf("testing_swap failed %d tests\n", numberOfFailedTests); + } else { + printf("testing_swap_u64 passed all tests\n"); + } +} + + +void size_utime_test(const char *mountpt) +{ + char name[100]; + int h; + int result; + struct yaffs_utimbuf utb; + struct yaffs_stat st; + + //setup + yaffs_start_up(); + + yaffs_mount(mountpt); + + strcpy(name,mountpt); + strcat(name,"/"); + strcat(name,"xfile"); + + yaffs_unlink(name); + + printf("created\n"); + h = yaffs_open(name,O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE); + + yaffs_fstat(h,&st); + printf(" times before %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); + + //first lets get the yaffs_object. + + //then check that yaffs_stat also works. + //yaffs_stat already uses 64 bits for both wince and unix times. + //To see if we are using 32 or 64 bit time, save a large number into the time and + //see if it overflows. + long bitsInTime = 8*sizeof(st.yst_ctime); + printf("the times are %ld bits long\n", bitsInTime); + + //two testcases + if (bitsInTime == 64) { + //no need to test the overflow. Just check that it can be retrieved intact. + + //use u64 variables in case utb truncates the values to 32 bit time by accident. + u64 start = 0xfffff; + u64 end = 0xffffff; + + utb.actime = start; + utb.modtime = end; + + result = yaffs_futime(h,&utb); + yaffs_fstat(h,&st); + if (st.yst_atime == start && st.yst_mtime == end) { + printf("successfully stored and retrevied a 64 bit number for atime and modtime\n"); + } else { + printf("failed to store and retrieve a 64 bit number for atime and modtime\n"); + + } + } else { + //it is a 32 bit number. Check to see that it overflowed. + + } + + + //here are the last access and modification times. + utb.actime = 1000; + utb.modtime = 2000; + + //futime sets the last modification and access time of the file + result = yaffs_futime(h,&utb); + printf("setting times using the futime function to a 1000 m 2000 result %d\n",result); + + //read the times from the file header + yaffs_fstat(h,&st); + printf(" times %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); + + + utb.actime = 5000; + utb.modtime = 8000; + result = yaffs_utime(name, &utb); + printf("utime to a 5000 m 8000 result %d\n",result); + yaffs_fstat(h,&st); + printf(" times %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); + + result = yaffs_utime(name, NULL); + printf("utime to NULL result %d\n",result); + yaffs_fstat(h,&st); + printf(" times %llu %llu %llu\n", + ( u64) st.yst_atime, ( u64) st.yst_ctime, ( u64) st.yst_mtime); + + +} + + void basic_xattr_test(const char *mountpt) { char name[100]; @@ -3511,7 +3655,7 @@ int main(int argc, char *argv[]) //long_test_on_path("/ram2k"); // long_test_on_path("/flash"); //simple_rw_test("/flash/flash"); - fill_n_file_test("/nand128MB", 50, 128000000/50); + //fill_n_file_test("/nand128MB", 50, 128000000/50); // rename_over_test("/flash"); //lookup_test("/flash"); //freespace_test("/flash/flash"); @@ -3543,7 +3687,9 @@ int main(int argc, char *argv[]) //large_file_test("/nand"); //readdir_test("/nand"); - //basic_utime_test("/nand"); + basic_utime_test("/nand"); + testing_swap_u64(); + size_utime_test("/nand"); //case_insensitive_test("/nand"); //yy_test("/nand"); diff --git a/direct/test-framework/basic-tests/reldevtest.c b/direct/test-framework/basic-tests/reldevtest.c new file mode 100644 index 0000000..0661be6 --- /dev/null +++ b/direct/test-framework/basic-tests/reldevtest.c @@ -0,0 +1,95 @@ +/* + * YAFFS: Yet another FFS. A NAND-flash specific file system. + * + * Copyright (C) 2002-2018 Aleph One Ltd. + * + * Created by Charles Manning + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + + +#include +#include +#include +#include +#include +#include + + +#include "yaffsfs.h" + +#include "yaffs_guts.h" /* Only for dumping device innards */ +#include "yaffs_endian.h" /*For testing the swap_u64 macro */ + +extern int yaffs_trace_mask; + + + +int call_all_reldev(struct yaffs_dev *dev) +{ + struct yaffs_stat buf; + struct yaffs_utimbuf utime; + unsigned char xbuffer[20]; + char cbuffer[20]; + + yaffs_mount_reldev(dev); + yaffs_open_sharing_reldev(dev, "foo", 0, 0, 0); + yaffs_open_reldev(dev, "foo", 0, 0); + yaffs_truncate_reldev(dev, "foo", 99); + yaffs_unlink_reldev(dev, "foo"); + yaffs_rename_reldev(dev, "foo", "foo_new"); + yaffs_stat_reldev(dev, "foo", &buf); + yaffs_lstat_reldev(dev, "foo", &buf); + yaffs_utime_reldev(dev, "foo", &utime); + yaffs_setxattr_reldev(dev, "foo", "name", xbuffer, 20, 0); + yaffs_lsetxattr_reldev(dev, "foo", "name", xbuffer, 20, 0); + yaffs_getxattr_reldev(dev, "foo", "name", xbuffer, 20); + yaffs_lgetxattr_reldev(dev, "foo", "name", xbuffer, 20); + + yaffs_listxattr_reldev(dev, "foo", cbuffer, 20); + yaffs_llistxattr_reldev(dev, "foo", cbuffer, 20); + yaffs_removexattr_reldev(dev, "foo", "name"); + yaffs_lremovexattr_reldev(dev, "foo", "name"); + + yaffs_access_reldev(dev, "foo", 0); + yaffs_chmod_reldev(dev, "foo", 0); + yaffs_mkdir_reldev(dev, "foo", 0); + yaffs_rmdir_reldev(dev, "foo"); + + + yaffs_opendir_reldev(dev, "foo"); + + //yaffs_symlink_reldev(dev, "foo", "foolink"); + //yaffs_readlink_reldev(dev, "foo", cbuffer, 20); + //yaffs_link_reldev(dev, "foo", "foo_new"); + + yaffs_mknod_reldev(dev, "foo", 0, 0); + yaffs_freespace_reldev(dev); + yaffs_totalspace_reldev(dev); + + yaffs_sync_reldev(dev); + yaffs_sync_files_reldev(dev); + + yaffs_unmount_reldev(dev); + yaffs_unmount2_reldev(dev, 1); + yaffs_remount_reldev(dev, 1, 1); + + return 0; +} + + +int random_seed; +int simulate_power_failure; + +int main(int argc, char *argv[]) +{ + (void) argc; + (void) argv; + + call_all_reldev(NULL); + + return 0; +} diff --git a/direct/test-framework/stress_tests/handle_tests/.gitignore b/direct/test-framework/stress_tests/handle_tests/.gitignore new file mode 100644 index 0000000..a69b6d9 --- /dev/null +++ b/direct/test-framework/stress_tests/handle_tests/.gitignore @@ -0,0 +1 @@ +handle_test diff --git a/direct/test-framework/timothy_tests/handle_tests/Makefile b/direct/test-framework/stress_tests/handle_tests/Makefile similarity index 89% rename from direct/test-framework/timothy_tests/handle_tests/Makefile rename to direct/test-framework/stress_tests/handle_tests/Makefile index 2e847a6..af64f28 100644 --- a/direct/test-framework/timothy_tests/handle_tests/Makefile +++ b/direct/test-framework/stress_tests/handle_tests/Makefile @@ -34,10 +34,10 @@ include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) -lpthread handle_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) -lpthread diff --git a/direct/test-framework/timothy_tests/handle_tests/README.txt b/direct/test-framework/stress_tests/handle_tests/README.txt similarity index 100% rename from direct/test-framework/timothy_tests/handle_tests/README.txt rename to direct/test-framework/stress_tests/handle_tests/README.txt diff --git a/direct/test-framework/timothy_tests/handle_tests/handle_test.c b/direct/test-framework/stress_tests/handle_tests/handle_test.c similarity index 97% rename from direct/test-framework/timothy_tests/handle_tests/handle_test.c rename to direct/test-framework/stress_tests/handle_tests/handle_test.c index b27f2af..ed721fb 100644 --- a/direct/test-framework/timothy_tests/handle_tests/handle_test.c +++ b/direct/test-framework/stress_tests/handle_tests/handle_test.c @@ -22,7 +22,7 @@ int main() int output =0; unsigned int total_number_of_tests_run=0; yaffs_start_up(); - yaffs_mount("yaffs2"); + yaffs_mount(YAFFS_MOUNT_POINT); printf("running tests\n"); @@ -62,7 +62,7 @@ int dup_test(void){ output=yaffs_lseek(handle,20,SEEK_SET); if (output >= 0) { output = yaffs_lseek(handle,0,SEEK_CUR); - if (output = 20){ + if (output == 20){ printf("dup is working\n"); return 1; } else if (output <0){ diff --git a/direct/test-framework/timothy_tests/handle_tests/handle_test.h b/direct/test-framework/stress_tests/handle_tests/handle_test.h similarity index 87% rename from direct/test-framework/timothy_tests/handle_tests/handle_test.h rename to direct/test-framework/stress_tests/handle_tests/handle_test.h index bc6c2f8..35a41e9 100644 --- a/direct/test-framework/timothy_tests/handle_tests/handle_test.h +++ b/direct/test-framework/stress_tests/handle_tests/handle_test.h @@ -18,9 +18,12 @@ #include #include "yaffsfs.h" -#define FILE_PATH "/yaffs2/foo" +#define YAFFS_MOUNT_POINT "/yflash2/" +#define FILE_PATH "/yflash2/foo" int open_close_handle_test(int num_of_tests); int open_handle(void); void get_error(void); +int dup_test(void); + #endif diff --git a/direct/test-framework/stress_tests/stress_tester/.gitignore b/direct/test-framework/stress_tests/stress_tester/.gitignore new file mode 100644 index 0000000..e2cd4da --- /dev/null +++ b/direct/test-framework/stress_tests/stress_tester/.gitignore @@ -0,0 +1 @@ +yaffs_tester diff --git a/direct/test-framework/timothy_tests/stress_tester/Makefile b/direct/test-framework/stress_tests/stress_tester/Makefile similarity index 83% rename from direct/test-framework/timothy_tests/stress_tester/Makefile rename to direct/test-framework/stress_tests/stress_tester/Makefile index b730b72..146c223 100644 --- a/direct/test-framework/timothy_tests/stress_tester/Makefile +++ b/direct/test-framework/stress_tests/stress_tester/Makefile @@ -19,7 +19,7 @@ YDI_DIR = ../../../ YDI_FRAMEWORK_DIR = ../../ CLEAN_OBJS = yaffs_tester emfile-2k-0 -TESTFILES = yaffs_tester.o message_buffer.o error_handler.o +TESTFILES = yaffs_tester.o message_buffer.o error_handler.o shared.o all: yaffs_tester @@ -32,10 +32,10 @@ include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) -lpthread yaffs_tester: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) -lpthread diff --git a/direct/test-framework/timothy_tests/stress_tester/README.txt b/direct/test-framework/stress_tests/stress_tester/README.txt similarity index 100% rename from direct/test-framework/timothy_tests/stress_tester/README.txt rename to direct/test-framework/stress_tests/stress_tester/README.txt diff --git a/direct/test-framework/timothy_tests/stress_tester/error_handler.c b/direct/test-framework/stress_tests/stress_tester/error_handler.c similarity index 94% rename from direct/test-framework/timothy_tests/stress_tester/error_handler.c rename to direct/test-framework/stress_tests/stress_tester/error_handler.c index 9d9ac97..ff22260 100644 --- a/direct/test-framework/timothy_tests/stress_tester/error_handler.c +++ b/direct/test-framework/stress_tests/stress_tester/error_handler.c @@ -14,7 +14,7 @@ * error_handler.c contains code for checking yaffs function calls for errors. */ #include "error_handler.h" - +#include "shared.h" typedef struct error_codes_template { int code; @@ -42,9 +42,9 @@ const error_entry error_list[] = { { 0, NULL } }; -const char * error_to_str(int err) +char * error_to_str(int err) { - error_entry *e = error_list; + error_entry const *e = error_list; if (err < 0) err = -err; while(e->code && e->text){ @@ -56,10 +56,8 @@ const char * error_to_str(int err) } void yaffs_check_for_errors(char output, buffer *message_buffer,char error_message[],char success_message[]){ - char dummy[10]; - unsigned int x=0; int yaffs_error=-1; - char error_found=0; + if (output==-1) { add_to_buffer(message_buffer, "\nerror##########",MESSAGE_LEVEL_ERROR,PRINT); diff --git a/direct/test-framework/timothy_tests/stress_tester/error_handler.h b/direct/test-framework/stress_tests/stress_tester/error_handler.h similarity index 100% rename from direct/test-framework/timothy_tests/stress_tester/error_handler.h rename to direct/test-framework/stress_tests/stress_tester/error_handler.h diff --git a/direct/test-framework/timothy_tests/stress_tester/message_buffer.c b/direct/test-framework/stress_tests/stress_tester/message_buffer.c similarity index 100% rename from direct/test-framework/timothy_tests/stress_tester/message_buffer.c rename to direct/test-framework/stress_tests/stress_tester/message_buffer.c diff --git a/direct/test-framework/timothy_tests/stress_tester/message_buffer.h b/direct/test-framework/stress_tests/stress_tester/message_buffer.h similarity index 100% rename from direct/test-framework/timothy_tests/stress_tester/message_buffer.h rename to direct/test-framework/stress_tests/stress_tester/message_buffer.h diff --git a/direct/test-framework/stress_tests/stress_tester/shared.c b/direct/test-framework/stress_tests/stress_tester/shared.c new file mode 100644 index 0000000..75855d4 --- /dev/null +++ b/direct/test-framework/stress_tests/stress_tester/shared.c @@ -0,0 +1,22 @@ +/* + * YAFFS: Yet another FFS. A NAND-flash specific file system. + * + * Copyright (C) 2002-2018 Aleph One Ltd. + * + * Created by Timothy Manning + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/* + * error_handler.c contains code for checking yaffs function calls for errors. + */ +#include "shared.h" +#include "yaffsfs.h" + +void quit_program(){ + yaffs_unmount(YAFFS_MOUNT_DIR); + exit(1); +} diff --git a/direct/test-framework/stress_tests/stress_tester/shared.h b/direct/test-framework/stress_tests/stress_tester/shared.h new file mode 100644 index 0000000..6bfd6d0 --- /dev/null +++ b/direct/test-framework/stress_tests/stress_tester/shared.h @@ -0,0 +1,22 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. + * + * Copyright (C) 2002-2018 Aleph One Ltd. + * + * Created by Timothy Manning + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1 as + * published by the Free Software Foundation. + * + * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. + */ + +#ifndef __shared_h__ +#define __shared_h__ + +#define YAFFS_TEST_DIR "/yflash2/test_dir" /*the path to the directory where all of the testing will take place*/ +#define YAFFS_MOUNT_DIR "/yflash2/" /*the path to the mount point which yaffs will mount*/ + +void quit_program(); +#endif diff --git a/direct/test-framework/timothy_tests/stress_tester/yaffs_tester.c b/direct/test-framework/stress_tests/stress_tester/yaffs_tester.c similarity index 95% rename from direct/test-framework/timothy_tests/stress_tester/yaffs_tester.c rename to direct/test-framework/stress_tests/stress_tester/yaffs_tester.c index ff1504d..aabe709 100644 --- a/direct/test-framework/timothy_tests/stress_tester/yaffs_tester.c +++ b/direct/test-framework/stress_tests/stress_tester/yaffs_tester.c @@ -16,6 +16,7 @@ #include "yaffs_tester.h" +#include "shared.h" @@ -25,16 +26,13 @@ int simulate_power_failure = 0; buffer message_buffer; /*create message_buffer */ -char yaffs_test_dir[] ="/yaffs2/test_dir"; /*the path to the directory where all of the testing will take place*/ -char yaffs_mount_dir[]="/yaffs2/"; /*the path to the mount point which yaffs will mount*/ - int main(int argc, char *argv[]){ - init(yaffs_test_dir,yaffs_mount_dir,argc,argv); - test(yaffs_test_dir); - yaffs_unmount(yaffs_mount_dir); + init(YAFFS_TEST_DIR, YAFFS_MOUNT_DIR, argc, argv); + test(YAFFS_TEST_DIR); + yaffs_unmount(YAFFS_MOUNT_DIR); return 0; } @@ -88,10 +86,8 @@ void init(char *yaffs_test_dir,char *yaffs_mount_dir,int argc, char *argv[]){ } -void quit_program(){ - yaffs_unmount(yaffs_mount_dir); - exit(1); -} + + void join_paths(char *path1,char *path2,char *new_path ){ /* printf("strlen path1:%d\n",strlen(path1)); @@ -169,9 +165,9 @@ void open_random_file(char *yaffs_test_dir, handle_regster *P_open_handles_array if (P_open_handles_array->number_of_open_handles -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# NB Warning this Makefile does not include header dependencies. -# - -YDI_DIR = ../../../ -YDI_FRAMEWORK_DIR = ../../ -CLEAN_OBJS = linux_test emfile-2k-0 - -TESTFILES = linux_test.o lib.o - -all: linux_test - -YAFFS_TEST_OBJS = $(COMMONTESTOBJS) $(TESTFILES) - - -ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(FUZZER_OBJS) - -include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk - - -yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) - - - -linux_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) - diff --git a/direct/test-framework/timothy_tests/linux_tests/README.txt b/direct/test-framework/timothy_tests/linux_tests/README.txt deleted file mode 100644 index be8b831..0000000 --- a/direct/test-framework/timothy_tests/linux_tests/README.txt +++ /dev/null @@ -1,48 +0,0 @@ - -linux_test.c tests yaffs running under linux using the nandsim generator. - - -If a segmentation fault happens during the test then check that -the nandsim has been initilised properly. - -How to initilise the nandsim - -$ make - -$ sudo -s -...password.. -# now you have a root shell -$ ./linux-tests/initnandsim 128MiB-2048 -$ insmod yaffs2multi.ko -$ mkdir /mnt/y -$ mount -t yaffs2 /dev/mtdblock0 /mnt/y - - - -How to change the permissions on the nandsim partition - -$ sudo chmod a+wr /mnt/y/ -#check the permission change -$ touch /mnt/y/test_file - -How to clean the folder - -$ rm -rf /mnt/y - - -The test must be run in sudo to work to allow the files to be -created in the root folders. - -compile command: make -run command: sudo ./linux_test - -command line options: - -h display the command line options. - -s [number] seeds the rand with the number. - -p [number] sets the print level to the number. - the higher the number the more low level commands are printed. - the number should be between 0 and 5. - -v verbose mode. everything is printed. - -q quite mode. nothing is printed. - - diff --git a/direct/test-framework/timothy_tests/linux_tests/lib.c b/direct/test-framework/timothy_tests/linux_tests/lib.c deleted file mode 100644 index 769eebf..0000000 --- a/direct/test-framework/timothy_tests/linux_tests/lib.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "lib.h" -static char message[200]; -static int PRINT_LEVEL = 3; -static int exit_on_error_val =1; -char string[FILE_NAME_LENGTH+1]; - - -int get_exit_on_error(void) -{ - return exit_on_error_val; -} - -void set_exit_on_error(int val) -{ - exit_on_error_val=val; -} - -node * linked_list_add_node(int pos,node *head_node) -{ - node *new_node=NULL; - if (pos==HEAD){ - new_node=malloc(sizeof(node)); - memset(new_node, 0, sizeof(node)); - new_node->string=NULL; - new_node->next=head_node; - return new_node; - } - return NULL; -} - -void node_print_pointers(node *current_node) -{ - while (current_node != NULL){ - sprintf(message,"current_node: %p, string: %s next_node: %p\n",current_node,current_node->string,current_node->next); - print_message(3,message); - current_node=current_node->next; - } -} - -int delete_linked_list(node *head_node) -{ - node *next_node=NULL; - node *current_node=head_node; - - while (current_node != NULL){ - next_node=current_node->next; - free(current_node); - current_node=next_node; - } - - return 1; -} - -char * generate_random_string(unsigned int length) -{ - - unsigned int x; - for (x=0;x<(length-1);x++) - { - string[x]=(rand() % NAME_RANGE)+65; - } - string[x]='\0'; - return string; -} - -void set_print_level(int new_level) -{ - PRINT_LEVEL=new_level; -} -int get_print_level(void) -{ - return PRINT_LEVEL; -} -void print_message(char print_level,char *message) -{ - if (print_level <= PRINT_LEVEL){ - printf("%s",message); - } -} -int random_int(void) -{ - return (random()%1000000); -} - -void check_function(int output) -{ - if (output>=0){ - print_message(3,"test_passed\n"); - } else { - print_message(3,"test_failed\n"); - get_error_linux(); - } -} - -void get_error_linux(void) -{ - int error_code=0; - char message[30]; - message[0]='\0'; - - error_code=errno; - sprintf(message,"linux_error code %d\n",error_code); - print_message(1,message); - - strcpy(message,"error is"); - perror(message); -// sprintf(message,"error is : %s\n",yaffs_error_to_str(error_code)); - //perror(message); - //print_message(1,message); -} diff --git a/direct/test-framework/timothy_tests/linux_tests/lib.h b/direct/test-framework/timothy_tests/linux_tests/lib.h deleted file mode 100644 index 9d3350e..0000000 --- a/direct/test-framework/timothy_tests/linux_tests/lib.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __lib_h__ -#define __lib_h__ -#include -#include -#include -#include - -#define NAME_RANGE 10 -#define ROOT_PATH "/mnt/y/" -#define FILE_NAME_LENGTH 3 -#define HEAD 0 -#define TAIL 1 - -typedef struct node_temp{ - char *string; - struct node_temp *next; -}node; - -int get_exit_on_error(void); -void set_exit_on_error(int val); -int delete_linked_list(node *head_node); -node * linked_list_add_node(int pos,node *head_node); -int random_int(void); -char * generate_random_string(unsigned int length); -void get_error_linux(void); -void check_function(int output); -void print_message(char print_level, char *message); -void set_print_level(int new_level); -int get_print_level(void); -void node_print_pointers(node *current_node); -#endif diff --git a/direct/test-framework/timothy_tests/linux_tests/linux_test.c b/direct/test-framework/timothy_tests/linux_tests/linux_test.c deleted file mode 100644 index b32dab6..0000000 --- a/direct/test-framework/timothy_tests/linux_tests/linux_test.c +++ /dev/null @@ -1,318 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "linux_test.h" - -int random_seed; -int simulate_power_failure = 1; - -char message[400]; //this is used for storing print messages. - - - -const struct option long_options[]={ - {"help", 0,NULL,'h'}, - - - {"print_level", 1,NULL,'p'}, - {"quiet", 0,NULL,'q'}, - - {"seed", 1,NULL,'s'}, - - {"verbose", 0,NULL,'v'} -}; - -const char short_options[]="hp:qs:v"; - - -void init(int argc, char *argv[]) -{ - char dir[200]; - dir[0]='\0'; - int x=-1; - char message[100]; - int new_option; - - x=(unsigned)time(NULL); - sprintf(message,"seeding srand with: %d\n",x); - print_message(2,message); - srand(x); - - - - do { - new_option=getopt_long(argc,argv,short_options,long_options,NULL); - if (new_option=='h'){ - printf("mirror_tests help\n"); - printf("arguments:\n"); - printf("\t-p [NUMBER] //sets the print level for mirror_tests.\n"); - printf("\t-v //verbose mode everything is printed\n"); - printf("\t-q //quiet mode nothing is printed.\n"); - printf("\t-s [number] //seeds rand with the number\n"); - - exit(0); - - } else if (new_option=='p'){ - set_print_level(atoi(optarg)); - } else if (new_option=='v'){ - set_print_level(5); - } else if (new_option=='q'){ - set_print_level(-1); - } else if (new_option=='s'){ - srand(atoi(argv[x+1])); - - } else if (new_option==-1){ - - } else if (new_option=='?') { - printf("bad argument\n"); - exit(0); - } - }while(new_option!=-1); -} - -int main(int argc, char *argv[]) -{ - dir_struct *scanned_dir=NULL; - int output=0; - int break_bool=0; - int x=5; - - init(argc,argv); - while( 1){ - while (break_bool!=1){ - //printf("x %d\n",x); - x--; - if (x<0 &&(break_bool!=1)){ - output=mkdir_test(); - break_bool=1; - } - x--; - if (x<0 &&(break_bool!=1)){ - output=rmdir_test(); - break_bool=1; - } - x--; - if (x<0 &&(break_bool!=1)){ - output=mknod_test(); - break_bool=1; - } - x--; - if (x<0 &&(break_bool!=1)){ - output=symlink_test(); - break_bool=1; - } - x--; - if (x<0 &&(break_bool!=1)){ - output=link_test(); - break_bool=1; - } - x--; - if (x<0 &&(break_bool!=1)){ - output=rename_test(); - break_bool=1; - } - x--; - if (x<0 &&(break_bool!=1)){ - scanned_dir=scan_dir(); - - output=remount_test(); - check_dir(scanned_dir); - scanned_dir=NULL; //the scanned dir has been freed in check_dir. - break_bool=1; - } - } - //printf("resetting x\n"); - check_function(output); - break_bool=0; - x=(rand()% 99); - } - return 0; -} - -dir_struct * scan_dir(void) -{ - struct dirent *dir_data; - dir_struct *dir=NULL; - dir=malloc(sizeof(dir_struct)); - memset(dir, 0, sizeof(dir_struct)); - DIR *open_dir=NULL; - - - open_dir=opendir(ROOT_PATH); - if (open_dir < 0){ - sprintf(message,"failed to find the directory: %s",ROOT_PATH); - print_message(1,message); - } - dir_data=readdir(open_dir); - while(dir_data){ - dir->path_list=linked_list_add_node(HEAD,dir->path_list); - dir->path_list->string=malloc(strlen(dir_data->d_name)+1); - strcpy(dir->path_list->string,dir_data->d_name); - sprintf(message,"opened file: %s\n",dir->path_list->string); - print_message(5,message); - dir_data=readdir(open_dir); - } - closedir(open_dir); - //node_print_pointers(dir->path_list); - return dir; -} - -int check_dir(dir_struct *old_dir) -{ - print_message(3,"scanning new dir\n"); - dir_struct *new_dir=scan_dir(); - node *new_list=new_dir->path_list; - node *old_list=old_dir->path_list; - int exit_loop=0,error=0; - print_message(3,"checking dir\n"); - for (;old_list!= NULL;old_list=old_list->next){ - //sprintf(message,"new_list=!NULL= %d, exit_loop !=1 = %d\n",(new_list!=NULL),(exit_loop !=1)); - //print_message(3,message); - for (;(new_list!=NULL) && (exit_loop !=1);new_list=new_list->next){ - //sprintf(message,"comparing %s and %s\n",old_list->string,new_list->string); - //print_message(3,message); - if (strcmp( new_list->string ,old_list->string)==0){ - //files match -now compare the modes and contents of the files. - //and set the paths to NULL. - exit_loop=1; - } - /*if (new_list->next==NULL){ - print_message(3,"next is null\n"); - - }*/ - } - if (exit_loop !=1){ - //failed to find a matching file - sprintf(message,"a file has disappeared: %s\n",old_list->string); - print_message(3,message); - error=1; - - } - new_list=new_dir->path_list; - exit_loop=0; - } - //now check if there are any old unmatched files - - //free both data structs - delete_linked_list(old_dir->path_list); - delete_linked_list(new_dir->path_list); - new_dir->path_list=NULL; - old_dir->path_list=NULL; - free(old_dir); - free(new_dir); - if (error ==1){ - print_message(3,"checking dir failed\n"); - if (get_exit_on_error()==1){ - print_message(3,"exiting_program\n"); - exit(0); - } - } - - else if (error !=1){ - print_message(3,"checking dir passed\n"); - } - return error; -} - -int remount_test(void) -{ - int output; - print_message(3,"\nunmounting\n"); - output=umount2("/mnt/y",1); - check_function(output); - print_message(3,"mounting\n"); - mount("/dev/mtdblock0","/mnt/y","yaffs2",0,NULL); - check_function(output); - return output; -} - -int mkdir_test(void) -{ - - char string[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - int mode=0,output=0; - strcpy(string,ROOT_PATH); - strcat(string,generate_random_string(FILE_NAME_LENGTH)); - mode = ((S_IREAD|S_IWRITE)&random_int()); - sprintf(message,"\nmaking directory: %s, with mode %d\n",string,mode); - print_message(3,message); - output= mkdir(string,mode); - return output; -} - -int rmdir_test(void) -{ - char string[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - int output=0; - strcpy(string,ROOT_PATH); - strcat(string,generate_random_string(FILE_NAME_LENGTH)); - - sprintf(message,"\nremoving directory: %s\n",string); - print_message(3,message); - output= rmdir(string); - return output; -} -int symlink_test(void) -{ - char string[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - char string2[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - int output; - strcpy(string,ROOT_PATH); - strcat(string,generate_random_string(FILE_NAME_LENGTH)); - strcpy(string2,ROOT_PATH); - strcat(string2,generate_random_string(FILE_NAME_LENGTH)); - sprintf(message,"\nsymlink from: %s, to %s\n",string,string2); - print_message(3,message); - output= symlink(string,string2); - return output; -} -int rename_test(void) -{ - char string[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - char string2[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - int output; - strcpy(string,ROOT_PATH); - strcat(string,generate_random_string(FILE_NAME_LENGTH)); - strcpy(string2,ROOT_PATH); - strcat(string2,generate_random_string(FILE_NAME_LENGTH)); - sprintf(message,"\nrenaming from: %s, to %s\n",string,string2); - print_message(3,message); - output= rename(string,string2); - return output; -} -int link_test(void) -{ - char string[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - char string2[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - int output=0; - strcpy(string,ROOT_PATH); - strcat(string,generate_random_string(FILE_NAME_LENGTH)); - strcpy(string2,ROOT_PATH); - strcat(string2,generate_random_string(FILE_NAME_LENGTH)); - sprintf(message,"\nlink from: %s, to %s\n",string,string2); - print_message(3,message); - output= link(string,string2); - return output; -} -int mknod_test(void) -{ - char string[FILE_NAME_LENGTH+strlen(ROOT_PATH)]; - int mode=0,dev=0,output=0; - strcpy(string,ROOT_PATH); - strcat(string,generate_random_string(FILE_NAME_LENGTH)); - mode = ((S_IREAD|S_IWRITE)&random_int()); - dev = random_int(); - sprintf(message,"\nmaking node: %s, with mode %d, dev %d\n",string,mode,dev); - print_message(3,message); - output= mknod(string,mode,dev); - return output; -} diff --git a/direct/test-framework/timothy_tests/linux_tests/linux_test.h b/direct/test-framework/timothy_tests/linux_tests/linux_test.h deleted file mode 100644 index 7a9a784..0000000 --- a/direct/test-framework/timothy_tests/linux_tests/linux_test.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __linux_test_h__ -#define __linux_test_h__ -#include -#include -#include -#include -#include -#include -#include -#include "lib.h" -#include -#include -#include - -typedef struct dir_struct_temp{ - node *path_list; - int number_of_items; -}dir_struct; - -int check_dir(dir_struct *old_dir); -dir_struct * scan_dir(void); -int link_test(void); -int symlink_test(void); -int mknod_test(void); -int mkdir_test(void); -int rename_test(void); -int rmdir_test(void); -int remount_test(void); -#endif diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EISDIR.c b/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EISDIR.c deleted file mode 100644 index 8ca3cea..0000000 --- a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EISDIR.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "test_yaffs_open_EISDIR.h" - -/*EISDIR is caused by trying to open a directory */ - -static int handle = -1; - -int test_yaffs_open_EISDIR(void) -{ - int error_code=0; - - handle=yaffs_open(YAFFS_MOUNT_POINT, O_CREAT | O_TRUNC| O_RDWR ,FILE_MODE ); - if (handle == -1){ - error_code=yaffs_get_error(); - if (abs(error_code)== EISDIR){ - return 1; - } else { - print_message("different error than expected\n", 2); - return -1; - } - } else { - print_message("non existant directory opened.(which is a bad thing)\n", 2); - return -1; - } - -} -int test_yaffs_open_EISDIR_clean(void) -{ - if (handle >=0){ - return yaffs_close(handle); - } else { - return 1; /* the file failed to open so there is no need to close it*/ - } -} - diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EISDIR.h b/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EISDIR.h deleted file mode 100644 index 4282ae4..0000000 --- a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EISDIR.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __test_yaffs_open_EISDIR_h__ -#define __test_yaffs_open_EISDIR_h__ - -#include "lib.h" -#include "yaffsfs.h" - -int test_yaffs_open_EISDIR(void); -int test_yaffs_open_EISDIR_clean(void); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/Makefile b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/Makefile deleted file mode 100644 index 7521a65..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -# Makefile for mirror_tests -# -# -# YAFFS: Yet another Flash File System. A NAND-flash specific file system. -# -# Copyright (C) 2002-2018 Aleph One Ltd. -# -# -# Created by Timothy Manning -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# NB Warning this Makefile does not include header dependencies. -# - -YDI_DIR = ../../../ -YDI_FRAMEWORK_DIR = ../../ -CLEAN_OBJS = mirror_tests emfile-2k-0 - -TESTFILES = mirror_tests.o lib.o\ - linux_test_open.o yaffs_test_open.o\ - linux_test_truncate.o yaffs_test_truncate.o \ - linux_test_unlink.o yaffs_test_unlink.o \ - linux_test_write.o yaffs_test_write.o - -all: mirror_tests - -YAFFS_TEST_OBJS = $(COMMONTESTOBJS) $(TESTFILES) - - -ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(FUZZER_OBJS) - -include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk - - -yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) - - - -mirror_tests: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) - diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/README.txt b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/README.txt deleted file mode 100644 index 2c03959..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/README.txt +++ /dev/null @@ -1,27 +0,0 @@ -Made by Timothy Manning on 24/12/2010 - - - mirror_tests is designed to check that yaffs behaves the same way as linux. - This is done by applying the same command to both linux and yaffs and - then checking the output of the functions. - The default place for creating linux files is direct/timothy_tests/mirror_tests/tests/ - This directory is removed and is recreated at the beginning of each test, - However some of the files may be read only and cannot be deleted. - It is much better to remove this directory via the command line. - - rm test/*;rmdir test/;./mirror_tests -n 100 -v - -compile command: make -run command: mirror_tests - -Command line arguments - -yaffs_path [PATH] sets the path for yaffs. - -linux_path [PATH] sets the path for linux. - -p [NUMBER] sets the print level for mirror_tests. - -v verbose mode everything is printed - -q quiet mode nothing is printed. - -n [number] sets the number of random tests to run. - -s [number] seeds rand with the number - -t [number] sets yaffs_trace to the number - -clean removes emfile and test dir - diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/lib.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/lib.c deleted file mode 100644 index 2835608..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/lib.c +++ /dev/null @@ -1,140 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "lib.h" - -static int EXIT_ON_ERROR = 1; -static int PRINT_LEVEL = 2; //This sets the level of detail which is printed. There are 3 levels 0,1,2 and 3 - //0 just prints the number of tests passed and failed. - //1 is the basic print level. it will print the details of a failed test. - //2 will print if a test passes and cleans. -void set_print_level(int new_level) -{ - PRINT_LEVEL=new_level; -} -int get_print_level(void) -{ - return PRINT_LEVEL; -} - -void set_exit_on_error(int num) -{ - EXIT_ON_ERROR=num; -} - -int get_exit_on_error(void) -{ - return EXIT_ON_ERROR; -} - -void display_error(void) -{ - -} - -void get_error_yaffs(void) -{ - int error_code=0; - char message[30]; - message[0]='\0'; - - error_code=yaffs_get_error(); - sprintf(message,"yaffs_error code %d\n",error_code); - print_message(1,message); - sprintf(message,"error is : %s\n",yaffs_error_to_str(error_code)); - print_message(1,message); -} - -void get_error_linux(void) -{ - int error_code=0; - char message[30]; - message[0]='\0'; - - error_code=errno; - sprintf(message,"linux_error code %d\n",error_code); - print_message(1,message); - strcpy(message,"error code"); - sprintf(message,"error is : %s\n",yaffs_error_to_str(error_code)); - //perror(message); - print_message(1,message); -} -void generate_random_string(char *ptr,int length_of_str){ - unsigned int x; - unsigned int length=((rand() %(length_of_str-3))+3); /*creates a int with the number of charecters been between 1 and 51*/ - char letter='\0'; - strcpy(ptr,""); - //printf("generating string\n"); - //printf("string length is %d\n",length); - for (x=0; x <= (length-2) &&length>2 ; x++) - { - //printf("x=%d\n",x); - /* keep generating a charecter until the charecter is legal*/ - while((letter=='\0' )||(letter=='/')||(letter=='\\')){ - letter=(rand() % 125-59)+58; /*generate a number between 32 and 126 and uses it as a charecter (letter) */ - } - ptr[x]=letter; - //printf("charecter generated is %c\n",ptr[x]); - } - ptr[x+1]='\0'; /*adds NULL charecter to turn it into a string*/ - -} - -void join_paths(char *path1,char *path2,char *new_path ) -{ - char message[100]; - print_message(3,"joining paths\n"); - sprintf(message,"path1: %s\n",path1); - print_message(3,message); - sprintf(message,"path2: %s\n",path2); - print_message(3,message); - strcpy(new_path,""); - //strcat(new_path,path1); /*since all functions have this then pull it out*/ - if ( (path1[(sizeof(path1)/sizeof(char))-2]=='/') && path2[0]!='/') { - /*paths are compatiable. concatanate them. note -2 is because of \0*/ - strcat(new_path,path1); - strcat(new_path,path2); - //char new_path[(sizeof(path1)/sizeof(char))+(sizeof(path2)/sizeof(char))]; - //strcpy(new_path,strcat(path1,path2)); - //return new_path; - } else if ((path1[(sizeof(path1)/sizeof(char))-2]!='/') && path2[0]=='/') { - /*paths are compatiable. concatanate them*/ - strcat(new_path,path1); - strcat(new_path,path2); - - } else if ((path1[(sizeof(path1)/sizeof(char))-2]!='/') && path2[0]!='/') { - /*need to add a "/". */ - strcat(new_path,path1); - strcat(new_path,"/"); - strcat(new_path,path2); - - } else if ((path1[(sizeof(path1)/sizeof(char))-2]=='/') && path2[0]=='/') { - /*need to remove a "/". */ - /*yaffs does not mind the extra slash. */ - strcat(new_path,path1); - strcat(new_path,path2); - - } else { - //error - //return -1; - } -} - -void print_message(char print_level,char *message) -{ - if (print_level <= PRINT_LEVEL){ - printf(message); - } -} - - - diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/lib.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/lib.h deleted file mode 100644 index beb7802..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/lib.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef _lib_h__ -#define _lib_h__ - -#include -#include -#include "yaffsfs.h" -#include - -typedef struct arg_temp2{ - char char1; - char char2; - char string1[100]; - char string2[100]; - int int1; - int int2; -} arg_temp; - - -typedef struct test_dir_temp -{ - int type_of_test; //used to tell if it is LINUX of YAFFS - char root_path[200]; -} test_dir; -test_dir yaffs_struct,linux_struct; - - - -void generate_random_string(char *ptr,int length_of_str); -void join_paths(char *path1,char *path2,char *new_path ); -void print_message(char print_level, char *message); -void set_print_level(int new_level); -int get_print_level(void); -void set_exit_on_error(int num); -int get_exit_on_error(void); -void display_error(void); -void get_error_yaffs(void); -void get_error_linux(void); -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_open.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_open.c deleted file mode 100644 index da741e8..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_open.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "linux_test_open.h" - -int linux_test_open(arg_temp *args_struct) -{ - char path[250]; - char message[150]; - int output; - join_paths(linux_struct.root_path,args_struct->string1, path ); - sprintf(message,"file path: %s\n",path); - print_message(3,message); - - output= open(path,args_struct->char1 & (O_TRUNC|O_EXCL|O_CREAT|O_APPEND) ,args_struct->char2& (S_IREAD|S_IWRITE)); - if (output>=0){ - output=close(output); - if (output<0) { - print_message(3,"failed to close handle\n"); - return -1; - } else { - return 1; - } - } else { - print_message(3,"failed to open file\n"); - return -1; - } -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_open.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_open.h deleted file mode 100644 index 4fcd5e6..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_open.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __linux_test_open_h__ -#define __linux_test_open_h__ -#include -#include -#include -#include "lib.h" - -int linux_test_open(arg_temp *args_struct); -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_truncate.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_truncate.c deleted file mode 100644 index 41103e0..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_truncate.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "linux_test_truncate.h" - -int linux_test_truncate(arg_temp *args_struct) -{ - char path[200]; - char message[200]; - int output=0; - join_paths(linux_struct.root_path,args_struct->string1, path ); - sprintf(message,"file path: %s\n",path); - print_message(3,message); - - output=truncate(path,args_struct->int1); - return output; -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_truncate.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_truncate.h deleted file mode 100644 index 8581ede..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_truncate.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __linux_test_truncate_h__ -#define __linux_test_truncate_h__ -#include -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int linux_test_truncate(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_unlink.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_unlink.c deleted file mode 100644 index 8fa76d7..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_unlink.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "linux_test_unlink.h" - -int linux_test_unlink(arg_temp *args_struct) -{ - char path[250]; - char message[150]; - int output; - join_paths(linux_struct.root_path,args_struct->string1, path ); - sprintf(message,"file path: %s\n",path); - print_message(3,message); - - output= unlink(path); - - if (output<0) { - print_message(3,"failed to unlink file\n"); - return -1; - } else { - return 1; - } -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_unlink.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_unlink.h deleted file mode 100644 index 12d4d48..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_unlink.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __linux_test_unlink_h__ -#define __linux_test_unlink_h__ -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int linux_test_unlink(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.c deleted file mode 100644 index 30a4463..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "linux_test_write.h" - -int linux_test_write(arg_temp *args_struct) -{ - char path[200]; - char message[200]; - int output=0; - int handle=-1; - join_paths(linux_struct.root_path,args_struct->string1, path ); - sprintf(message,"trying to write to: %s\nwith mode set to %o \n",path,args_struct->char1 ); - print_message(3,message); - printf("mode S_IREAD %d S_IWRITE %d\n",(args_struct->char2 & S_IREAD),(args_struct->char2 & S_IWRITE)); - handle=open(path,((args_struct->char1 &(O_TRUNC|O_EXCL|O_CREAT|O_APPEND))|O_RDWR),(args_struct->char2&(S_IREAD|S_IWRITE))); - printf("handle %d\n",handle); - if (handle<0){ - print_message(3,"failed to open a handle\n"); - return -1; //handle failed to open - } - sprintf(message,"trying to write: %d bytes into the file\n",strlen(args_struct->string2)); - print_message(3,message); - output=write(handle,args_struct->string2,strlen(args_struct->string2)); - close(handle); - return output; -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.h deleted file mode 100644 index b7e3c37..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __linux_test_write_h__ -#define __linux_test_write_h__ -#include -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int linux_test_write(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/mirror_tests.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/mirror_tests.c deleted file mode 100644 index dcd83df..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/mirror_tests.c +++ /dev/null @@ -1,600 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "mirror_tests.h" - -int random_seed; -int simulate_power_failure = 0; - -int num_of_random_tests=1; - - - -typedef struct test_list_temp2{ - char *test_name; - int (*test_pointer)(arg_temp *args_struct); -}test_list_temp; - -typedef struct test_temp2 { - int num_of_tests; - test_list_temp test_list[]; -}test_temp; - -test_temp yaffs_tests={ - 4, - {{"yaffs_test_open",yaffs_test_open}, - {"yaffs_test_truncate",yaffs_test_truncate}, - {"yaffs_test_unlink",yaffs_test_unlink}, - {"yaffs_test_write",yaffs_test_write} - } -}; - -test_temp linux_tests={ - 4, - {{"linux_test_open",linux_test_open}, - {"linux_test_truncate",linux_test_truncate}, - {"linux_test_unlink",linux_test_unlink}, - {"linux_test_write",linux_test_write} - } -}; - -const struct option long_options[]={ - {"help", 0,NULL,'h'}, - {"yaffs_path", 1,NULL,'y'}, - {"linux_path", 1,NULL,'l'}, - {"print_level", 1,NULL,'p'}, - {"quiet", 0,NULL,'q'}, - {"number", 1,NULL,'n'}, - {"seed", 1,NULL,'s'}, - {"trace", 1,NULL,'t'}, - {"clean", 0,NULL,'c'}, - {"verbose", 0,NULL,'v'} -}; - -const char short_options[]="hy:l:p:qn:s:t:cv"; - - -int main(int argc, char *argv[]) -{ - char message[100]; - -// yaffs_tests.num_of_tests=(sizeof(yaffs_tests)/sizeof(test_temp)); -// linux_tests.num_of_tests=(sizeof(linux_tests)/sizeof(test_temp)); - - init(argc,argv); - print_message(1,"running mirror_tests\n"); - sprintf(message,"linux_root_path: %s\n",linux_struct.root_path); - print_message(3,message); - sprintf(message,"yaffs_root_path: %s\n",yaffs_struct.root_path); - print_message(3,message); - sprintf(message,"linux_num_of_tests: %d\n",linux_tests.num_of_tests); - print_message(3,message); - sprintf(message,"yaffs_num_of_tests: %d\n",yaffs_tests.num_of_tests); - print_message(3,message); - - run_random_test(num_of_random_tests); - //compare_linux_and_yaffs(); - yaffs_unmount("yaffs2"); - return 0; -} - -void init(int argc, char *argv[]) -{ - char dir[200]; - dir[0]='\0'; - int x=-1; - char message[100]; - int new_option; - - x=(unsigned)time(NULL); - sprintf(message,"seeding srand with: %d\n",x); - print_message(2,message); - srand(x); - yaffs_set_trace(0); - linux_struct.type_of_test =LINUX; - yaffs_struct.type_of_test =YAFFS; - - sprintf(message,"current absolute path is: %s\n",getcwd(dir,200)); - print_message(3,message); - strcpy(dir,getcwd(dir,200)); - - strcat(dir,"/test/"); - printf("dir: %s\n",dir); - strcpy(linux_struct.root_path,dir); - strcpy(yaffs_struct.root_path,"yaffs2/test/"); - - - do { - new_option=getopt_long(argc,argv,short_options,long_options,NULL); - if (new_option=='h'){ - printf("mirror_tests help\n"); - printf("arguments:\n"); - printf("\t-yaffs_path [PATH] //sets the path for yaffs.\n"); - printf("\t-linux_path [PATH] //sets the path for linux.\n"); - printf("\t-p [NUMBER] //sets the print level for mirror_tests.\n"); - printf("\t-v //verbose mode everything is printed\n"); - printf("\t-q //quiet mode nothing is printed.\n"); - printf("\t-n [number] //sets the number of random tests to run.\n"); - printf("\t-s [number] //seeds rand with the number\n"); - printf("\t-t [number] //sets yaffs_trace to the number\n"); - printf("\t-clean //removes emfile and test dir\n"); - exit(0); - } else if (new_option=='y'){ - strcpy(yaffs_struct.root_path, optarg); - } else if (new_option=='l'){ - strcpy(linux_struct.root_path, optarg); - } else if (new_option=='p'){ - set_print_level(atoi(optarg)); - } else if (new_option=='v'){ - set_print_level(5); - } else if (new_option=='q'){ - set_print_level(-1); - } else if (new_option=='n'){ - num_of_random_tests=atoi(optarg); - } else if (new_option=='s'){ - srand(atoi(argv[x+1])); - } else if (new_option=='t'){ - yaffs_set_trace(atoi(optarg)); - } else if (new_option=='c'){ - clean_dir(); - exit(0); - } else if (new_option==-1){ - - } else if (new_option=='?') { - printf("bad argument\n"); - exit(0); - } - - } while(new_option!=-1); - clean_dir(); - yaffs_start_up(); - print_message(2,"\nmounting yaffs\n"); - x=yaffs_mount("yaffs2"); - if (x<0) { - print_message(3,"failed to mount yaffs\n"); - get_error_yaffs(); - } else { - print_message(3,"mounted yaffs\n"); - } - - - print_message(3,"\nmaking linux test dir\n"); - x=mkdir(linux_struct.root_path,0777); - if (x<0) { - print_message(1,"failed to make dir\n"); - get_error_linux(); - } else { - print_message(3,"made dir\n"); - } - - print_message(3,"\nmaking yaffs test dir\n"); - x=yaffs_mkdir(yaffs_struct.root_path,0777); - if (x<0) { - print_message(1,"failed to make dir\n"); - get_error_yaffs(); - } else { - print_message(3,"made dir\n"); - } -} - -int run_random_test(int num_of_random_tests) -{ - int y=0; - int x=-1; - int id=0; - int test_id=-1; - int num_of_tests_before_check=1; - char message[200]; - arg_temp args_struct; - for (y=0;(y*num_of_tests_before_check)=4){ - get_error_yaffs(); - get_error_linux(); - } - - if ((abs(yaffs_get_error())!=abs(errno)) && - (abs(yaffs_get_error())!=EISDIR && abs(errno) != 0) && - (abs(yaffs_get_error())!=ENOENT && abs(errno) != EACCES)&& - (abs(yaffs_get_error())!=EINVAL && abs(errno) != EBADF) - ){ - print_message(2,"\ndifference in returned errors######################################\n"); - get_error_yaffs(); - get_error_linux(); - if (get_exit_on_error()){ - exit(0); - } - } - } - //check_mode(&args_struct); - compare_linux_and_yaffs(&args_struct); - //check_mode(&args_struct); - - } - compare_linux_and_yaffs(&args_struct); -} - -int select_test_id(int test_len) -{ - int id=0; - //printf("test_len = %d\n",test_len); - id=(rand() % test_len ); - //printf("id %d\n",id); - return id; - -} - -int check_mode(arg_temp *args_struct) -{ - char path[200]; - char message[200]; - int output=0; - - struct yaffs_stat yaffs_stat_struct; - join_paths(yaffs_struct.root_path,args_struct->string1, path ); - sprintf(message,"\ntrying to stat to: %s\n",path); - print_message(3,message); - output=yaffs_stat(path,&yaffs_stat_struct); - if (output < 0){ - sprintf(message,"failed to stat the file\n"); - print_message(3,message); - get_error_yaffs(); - } else { - sprintf(message,"stated the file\n"); - print_message(3,message); - sprintf(message," yaffs file mode is %d\n",(yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n",(yaffs_stat_struct.st_mode & S_IREAD),(yaffs_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - } - return 1; -} - -int check_mode_file(char *path) -{ - char message[200]; - int output=0; - - struct yaffs_stat yaffs_stat_struct; - - sprintf(message,"\ntrying to stat to: %s\n",path); - print_message(3,message); - output=yaffs_stat(path,&yaffs_stat_struct); - if (output < 0){ - sprintf(message,"failed to stat the file\n"); - print_message(3,message); - get_error_yaffs(); - } else { - sprintf(message,"stated the file\n"); - print_message(3,message); - sprintf(message," yaffs file mode is %d\n",(yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n\n",(yaffs_stat_struct.st_mode & S_IREAD),(yaffs_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - } - return 1; -} - -int compare_linux_and_yaffs(arg_temp *args_struct) -{ - int x=0,y=0; - char l_path[200]; - char y_path[200]; - char file_name[200]; - int exit_bool=0; - int number_of_files_in_yaffs=0; - int number_of_files_in_linux=0; - char message[200]; - char **yaffs_file_list=NULL; - char **linux_file_list=NULL; - - struct yaffs_stat yaffs_stat_struct; - struct stat linux_stat_struct; - yaffs_DIR *yaffs_open_dir; - struct yaffs_dirent *yaffs_current_file; - - DIR *linux_open_dir; - struct dirent *linux_current_file; - - l_path[0]='\0'; - y_path[0]='\0'; - file_name[0]='\0'; - message[0]='\0'; - print_message(2,"\n\n\n comparing folders\n"); -// check_mode_file("yaffs2/test/YY"); - //find out the number of files in the directory - yaffs_open_dir = yaffs_opendir(yaffs_struct.root_path); - if (yaffs_open_dir) { - for (x=0;yaffs_readdir(yaffs_open_dir);x++){} - number_of_files_in_yaffs=x; - sprintf(message,"number of files in yaffs dir= %d\n",number_of_files_in_yaffs); - print_message(2,message); - yaffs_rewinddir(yaffs_open_dir); - } else { - print_message(3,"failed to open yaffs test dir\n"); - } - //create array - yaffs_file_list= (char **)malloc(x*sizeof(char*)); - for (x=0;xd_name = %s\n",yaffs_current_file->d_name); - if (yaffs_current_file){ - strcpy(yaffs_file_list[x],yaffs_current_file->d_name); - - } - yaffs_current_file =yaffs_readdir(yaffs_open_dir); - } - yaffs_closedir(yaffs_open_dir); - } else { - print_message(3,"failed to populate yaffs test list\n"); - } - - - //find out the number of files in the directory - linux_open_dir = opendir(linux_struct.root_path); - if (linux_open_dir){ - for (x=0;readdir(linux_open_dir);x++){} - number_of_files_in_linux=(x-2); - sprintf(message,"number of files in linux dir= %d\n",(number_of_files_in_linux)); - print_message(2,message); - //the -2 is because linux shows 2 extra files which are automaticly created. - - rewinddir(linux_open_dir); - } else { - print_message(3,"failed to open linux test dir\n"); - } - - //create array - linux_file_list= (char **)malloc(number_of_files_in_linux*sizeof(char*)); - - for (x=0;xd_name); - print_message(7,"opened file: "); - print_message(7,message); - print_message(7,"\n"); - } - if (linux_current_file && - 0!=strcmp(message,".")&& - 0!=strcmp(message,"..")){ - strcpy(file_name,linux_current_file->d_name); - //sprintf("file opened: %s\n",linux_current_file->d_name); - //print_message(3,message); - print_message(7,"added file to list\n"); - strcpy(linux_file_list[y],file_name); - sprintf(message,"file added to list: %s\n",linux_file_list[y]); - print_message(7,message); - y++; - } - linux_current_file =readdir(linux_open_dir); - } - closedir(linux_open_dir); - } else { - print_message(3,"failed to populate linux test dir\n"); - } - - - //match the files in both folders - for (x=0;x=0&& - stat(l_path,&linux_stat_struct)>=0){ - sprintf(message," yaffs file mode is %d\n",(yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n",(yaffs_stat_struct.st_mode & S_IREAD),(yaffs_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - sprintf(message," linux file mode is %d\n",(linux_stat_struct.st_mode & (S_IREAD|S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n",(linux_stat_struct.st_mode & S_IREAD),(linux_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - if ((yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))== - ( linux_stat_struct.st_mode & (S_IREAD|S_IWRITE))){ - print_message(2,"file modes match\n"); - } else { - print_message(2,"file modes do not match\n"); - exit_bool=1; - } - linux_file_list[y][0]=NULL; - yaffs_file_list[x][0]=NULL; - } else { - print_message(2,"failed to stat one of the files\n"); - get_error_yaffs(); - get_error_linux(); - } - - //read file contents - - - break; - } - } - } - - //print remaining files - for (x=0;xd_name); -// generate_array_of_objects_in_yaffs(); -// generate_array_of_objects_in_linux(); - //first do a check to see if both sides have the same objects on both sides. - //then stat all of the files and compare size and mode - //read the text of each file and compare them. - - //show the diffrences by printing them. - return 1; - -} - -void generate_random_numbers(arg_temp *args_struct) -{ - char string[51]; - args_struct->char1= (rand() % 255); - args_struct->char2= (rand() % 255); - args_struct->int1= (rand() % 100000); - args_struct->int2= (rand() % 100000); - generate_random_string(string,50); - strcpy(args_struct->string1, string); - generate_random_string(string,50); - strcpy(args_struct->string2, string); -} - -void run_yaffs_test(int id,arg_temp *args_struct) -{ - char message[200]; - int output =0; - print_message(3,"\n"); - //printf("id = %d\n",id); - sprintf(message,"running_test %s\n",yaffs_tests.test_list[id].test_name); - print_message(3,message); - output=yaffs_tests.test_list[id].test_pointer(args_struct); - if (output<0) { - sprintf(message,"test_failed %s\n",yaffs_tests.test_list[id].test_name); - print_message(3,message); - } else { - print_message(3,"test_passed\n"); - } -} - -void run_linux_test(int id,arg_temp *args_struct) -{ - char message[200]; - int output =0; - print_message(3,"\n"); - //printf("id = %d\n",id); - sprintf(message,"running_test %s\n",linux_tests.test_list[id].test_name); - print_message(3,message); - output=linux_tests.test_list[id].test_pointer(args_struct); - if (output<0) { - sprintf(message,"test_failed %s\n",linux_tests.test_list[id].test_name); - print_message(3,message); - } else { - print_message(3,"test_passed\n"); - } -} - - -void clean_dir(void) -{ - char string[200]; - char file[200]; - char message[200]; - DIR *linux_open_dir; - struct dirent *linux_current_file; - int x=0,output=0; - - getcwd(string,200); - strcat(string,"/emfile-2k-0"); - sprintf(message,"\n\nunlinking emfile at this path: %s\n",string); - print_message(3,message); - unlink(string); - - - linux_open_dir = opendir(linux_struct.root_path); - if (linux_open_dir){ - - do - { - - linux_current_file =readdir(linux_open_dir); - if (NULL!=linux_current_file){ - - strcpy(file,linux_struct.root_path); - strcat(file,linux_current_file->d_name); - sprintf(message,"unlinking file %s\n",file); - print_message(3,message); - print_message(3,"chmoding file\n"); - output=chmod(file,(S_IRUSR|S_IWUSR)); - if (output<0) { - get_error_linux(); - } - print_message(3,"unlinking file\n"); - output=unlink(file); - if (output<0) { - get_error_linux(); - } - } - } while(linux_current_file); - closedir(linux_open_dir); - rmdir(linux_struct.root_path); - } - -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/mirror_tests.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/mirror_tests.h deleted file mode 100644 index cbbb953..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/mirror_tests.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __mirror_tests_h__ -#define __mirror_tests_h__ - -#include -#include -#include //used for getting the current directory. -#include -#include -#include "yaffsfs.h" -#include "lib.h" -#include -#include -#include - -#include "linux_test_open.h" -#include "yaffs_test_open.h" -#include "linux_test_truncate.h" -#include "yaffs_test_truncate.h" -#include "linux_test_unlink.h" -#include "yaffs_test_unlink.h" -#include "linux_test_write.h" -#include "yaffs_test_write.h" - -#define LINUX 1 -#define YAFFS 2 - - - - - -void init(int argc, char *argv[]); -int run_random_test(int num_of_random_tests); -int compare_linux_and_yaffs(arg_temp *args_struct); - -int select_test_id(int test_len); -void generate_random_numbers(arg_temp *args_struct); -void run_yaffs_test(int id,arg_temp *args_struct); -void run_linux_test(int id,arg_temp *args_struct); -void clean_dir(void); -int select_test_id(int test_len); -int check_mode(arg_temp *args_struct); -int check_mode_file(char *path); -//void generate_array_of_objects_in_yaffs(void); -//void generate_array_of_objects_in_linux(void); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_open.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_open.c deleted file mode 100644 index 7f96190..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_open.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "yaffs_test_open.h" - -int yaffs_test_open(arg_temp *args_struct) -{ - char path[200]; - char message[100]; - int output=0; - join_paths(yaffs_struct.root_path,args_struct->string1, path ); - sprintf(message,"file path: %s\n",path); - print_message(3,message); - - output=yaffs_open(path,args_struct->char1 &(O_TRUNC|O_EXCL|O_CREAT|O_APPEND),args_struct->char2&(S_IREAD|S_IWRITE)); - if (output>=0){ - output= yaffs_close(output); - if (output<0) { - print_message(3,"failed to close handle\n"); - return -1; - } else { - return 1; - } - } else { - print_message(3,"failed to open file\n"); - return -1; - } -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_open.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_open.h deleted file mode 100644 index 9c4c4ab..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_open.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __yaffs_test_open_h__ -#define __yaffs_test_open_h__ -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int yaffs_test_open(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_truncate.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_truncate.c deleted file mode 100644 index f88cb1d..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_truncate.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "yaffs_test_truncate.h" - -int yaffs_test_truncate(arg_temp *args_struct) -{ - char path[200]; - char message[200]; - int output=0; - join_paths(yaffs_struct.root_path,args_struct->string1, path ); - sprintf(message,"file path: %s\n",path); - print_message(3,message); - - output=yaffs_truncate(path,args_struct->int1); - return output; -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_truncate.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_truncate.h deleted file mode 100644 index fd665fe..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_truncate.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __yaffs_test_truncate_h__ -#define __yaffs_test_truncate_h__ -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int yaffs_test_truncate(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_unlink.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_unlink.c deleted file mode 100644 index 188c2bc..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_unlink.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "yaffs_test_unlink.h" - -int yaffs_test_unlink(arg_temp *args_struct) -{ - char path[250]; - char message[150]; - int output; - join_paths(yaffs_struct.root_path,args_struct->string1, path ); - sprintf(message,"file path: %s\n",path); - print_message(3,message); - - output= yaffs_unlink(path); - - if (output<0) { - print_message(3,"failed to unlink file\n"); - return -1; - } else { - return 1; - } - -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_unlink.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_unlink.h deleted file mode 100644 index b77786b..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_unlink.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __yaffs_test_unlink_h__ -#define __yaffs_test_unlink_h__ -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int yaffs_test_unlink(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_write.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_write.c deleted file mode 100644 index 42382cb..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_write.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "yaffs_test_write.h" - -int yaffs_test_write(arg_temp *args_struct) -{ - char path[200]; - char message[200]; - int output=0,output2=0; - int handle; - struct yaffs_stat yaffs_stat_struct; - join_paths(yaffs_struct.root_path,args_struct->string1, path ); - sprintf(message,"trying to write to: %s\nwith mode set to %o \n",path,args_struct->char1); - print_message(3,message); - printf("mode S_IREAD %d S_IWRITE %d\n",(args_struct->char2 & S_IREAD),(args_struct->char2 & S_IWRITE)); - handle=yaffs_open(path,((args_struct->char1 &(O_TRUNC|O_EXCL|O_CREAT|O_APPEND))|O_RDWR),(args_struct->char2&(S_IREAD|S_IWRITE))); - printf("handle %d\n",handle); - if (handle<0){ - print_message(3,"failed to open a handle\n"); - return -1; //handle failed to open - } - -/* output=yaffs_fstat(handle,&yaffs_stat_struct); - if (output < 0){ - sprintf(message,"failed to stat the file\n"); - print_message(3,message); - get_error_yaffs(); - } else { - sprintf(message,"stated the file\n"); - print_message(3,message); - sprintf(message," yaffs file mode is %d\n",(yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n",(yaffs_stat_struct.st_mode & S_IREAD),(yaffs_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - } - - sprintf(message,"trying to write: %d bytes into the file\n",strlen(args_struct->string2)); - print_message(3,message); -*/ - output=yaffs_write(handle,&args_struct->string2,strlen(args_struct->string2)); - -/* print_message(3,"\n wrote to the file\n"); - output2=yaffs_fstat(handle,&yaffs_stat_struct); - if (output2 < 0){ - sprintf(message,"failed to stat the file\n"); - print_message(3,message); - get_error_yaffs(); - } else { - sprintf(message,"stated the file\n"); - print_message(3,message); - sprintf(message," yaffs file mode is %d\n",(yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n",(yaffs_stat_struct.st_mode & S_IREAD),(yaffs_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - } -*/ yaffs_close(handle); -/* print_message(3,"\n closing the file\n"); - output2=yaffs_stat(path,&yaffs_stat_struct); - if (output2 < 0){ - sprintf(message,"failed to stat the file\n"); - print_message(3,message); - get_error_yaffs(); - } else { - sprintf(message,"stated the file\n"); - print_message(3,message); - sprintf(message," yaffs file mode is %d\n",(yaffs_stat_struct.st_mode & (S_IREAD| S_IWRITE))); - print_message(3,message); - sprintf(message,"mode S_IREAD %d S_IWRITE %d\n",(yaffs_stat_struct.st_mode & S_IREAD),(yaffs_stat_struct.st_mode & S_IWRITE)); - print_message(3,message); - } -*/ - - return output; -} diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_write.h b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_write.h deleted file mode 100644 index 856d053..0000000 --- a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/yaffs_test_write.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2018 Aleph One Ltd. - * - * Created by Timothy Manning - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - */ - -#ifndef __yaffs_test_write_h__ -#define __yaffs_test_write_h__ -#include -#include -#include -#include -#include "yaffsfs.h" -#include "lib.h" - -int yaffs_test_write(arg_temp *args_struct); - -#endif diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/.gitignore b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/.gitignore new file mode 100644 index 0000000..dcc33e8 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/.gitignore @@ -0,0 +1 @@ +time_32_tests diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/Makefile b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/Makefile new file mode 100644 index 0000000..8842f4b --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/Makefile @@ -0,0 +1,41 @@ +# Makefile for 64 bit time test. +# +# +# YAFFS: Yet another Flash File System. A NAND-flash specific file system. +# +# Copyright (C) 2002-2018 Aleph One Ltd. +# +# +# Created by Timothy Manning +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# NB Warning this Makefile does not include header dependencies. +# + +YDI_DIR = ../../../../ +YDI_FRAMEWORK_DIR = ../../../ + +MAINFILES = time_32_tests create_32_bit validate_32_bit +MAIN_OBJS = $(addsuffix .o,$(MAINFILES)) + +EXTRA_OBJS = shared.o + +CLEAN_OBJS = $(MAINFILES) +CFLAGS = -DCONFIG_YAFFS_USE_32_BIT_TIME_T + +YAFFS_TEST_OBJS = $(COMMONTESTOBJS) $(EXTRA_OBJS) +ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(MAIN_OBJS) + +all: $(MAINFILES) + +include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk + +phony. test: time_32_tests + ./time_32_tests + +$(MAINFILES): $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) $(MAIN_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) $@.o -lpthread -DCONFIG_YAFFS_USE_32_BIT_TIME_T + diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/create_32_bit.c b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/create_32_bit.c new file mode 120000 index 0000000..d73d45a --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/create_32_bit.c @@ -0,0 +1 @@ +../shared/create_file.c \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/shared.c b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/shared.c new file mode 120000 index 0000000..e4b04bb --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/shared.c @@ -0,0 +1 @@ +../shared/shared.c \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/shared.h b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/shared.h new file mode 120000 index 0000000..ae87f9e --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/shared.h @@ -0,0 +1 @@ +../shared/shared.h \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/time_32_tests.c b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/time_32_tests.c new file mode 100644 index 0000000..9c99242 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/time_32_tests.c @@ -0,0 +1,28 @@ +#include "yaffsfs.h" +#define YAFFS_MOUNT_POINT "/yflash2/" +#define FILE_PATH "/yflash2/foo.txt" + +int random_seed; +int simulate_power_failure = 0; + + +int main() +{ + yaffs_start_up(); + + //test that ytime is 32 bits + + if (sizeof(YTIME_T) != 4) { + printf("Error:size of YTIME_T is %lu, not 32 bits \n", sizeof(YTIME_T)*8); + return 1; + } + + + //create several times and save them + // + + //extra tests + //save the time and get it to overflow. + printf("all tests pass\n"); + return 0; +} diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/validate_32_bit.c b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/validate_32_bit.c new file mode 120000 index 0000000..c08acf3 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/32_bit/validate_32_bit.c @@ -0,0 +1 @@ +../shared/validate_file.c \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/.gitignore b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/.gitignore new file mode 100644 index 0000000..5c35cde --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/.gitignore @@ -0,0 +1 @@ +time_64_tests diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/Makefile b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/Makefile new file mode 100644 index 0000000..179ec07 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/Makefile @@ -0,0 +1,40 @@ +# Makefile for 64 bit time test. +# +# +# YAFFS: Yet another Flash File System. A NAND-flash specific file system. +# +# Copyright (C) 2002-2018 Aleph One Ltd. +# +# +# Created by Timothy Manning +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# NB Warning this Makefile does not include header dependencies. +# + +YDI_DIR = ../../../../ +YDI_FRAMEWORK_DIR = ../../../ + +MAINFILES = time_64_tests create_64_bit validate_64_bit +MAIN_OBJS = $(addsuffix .o,$(MAINFILES)) + +EXTRA_OBJS = shared.o + +CLEAN_OBJS = $(MAINFILES) + +YAFFS_TEST_OBJS = $(COMMONTESTOBJS) $(EXTRA_OBJS) +ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(MAIN_OBJS) + +all: $(MAINFILES) + +include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk + +phony. test: time_64_tests + ./time_64_tests + +$(MAINFILES): $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) $(MAIN_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) $@.o -lpthread + diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/create_64_bit.c b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/create_64_bit.c new file mode 120000 index 0000000..d73d45a --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/create_64_bit.c @@ -0,0 +1 @@ +../shared/create_file.c \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/shared.c b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/shared.c new file mode 120000 index 0000000..e4b04bb --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/shared.c @@ -0,0 +1 @@ +../shared/shared.c \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/shared.h b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/shared.h new file mode 120000 index 0000000..ae87f9e --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/shared.h @@ -0,0 +1 @@ +../shared/shared.h \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/time_64_tests.c b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/time_64_tests.c new file mode 100644 index 0000000..19abe94 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/time_64_tests.c @@ -0,0 +1,65 @@ +#include "yaffsfs.h" +#include "yaffs_endian.h" + +#define YAFFS_MOUNT_POINT "/yflash2/" +#define FILE_PATH "/yflash2/foo.txt" + +int random_seed; +int simulate_power_failure = 0; + + +int main() +{ + yaffs_start_up(); + + //test that ytime is 64 bits + + if (sizeof(YTIME_T) != 8) { + printf("Error:size of YTIME_T is not 64 bits\n"); + return 1; + } + + struct yaffs_obj obj; + if (sizeof(obj.yst_atime) != 8) { + printf("Error: size of yaffs_obj.yst_atime is not 64 bits\n"); + return 1; + } + + //create several times and save them + // + struct yaffs_dev dev; + + //need to set this to get the function to swap + //endianess of the values. + + //remember that the first two bytes are swapped to the + //other end while still retaining their order. + // i.e. 0xfa..... becomes 0x...fa + dev.swap_endian = 1; + + struct yaffs_obj_hdr oh; + + oh.yst_atime = 0xaf1732b0; + oh.yst_mtime = 0xaf1732b0; + oh.yst_ctime = 0xaf1732b0; + + yaffs_do_endian_oh(&dev,&oh); + + //check that the endianess is correct + u32 expected = 0xb03217af; + if (oh.yst_atime != expected ) { + printf("endian test failed for yst_atime, got %x expected %x\n",oh.yst_atime,expected); + return 1; + } + if (oh.yst_mtime != expected) { + printf("endian test failed for yst_mtime, got %x, expected %x\n",oh.yst_mtime,expected); + return 1; + } + if (oh.yst_ctime != expected) { + printf("endian test failed for yst_ctime, got %x, expected %x\n",oh.yst_ctime,expected); + return 1; + } + + printf("all tests pass\n"); + return 0; +} diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/validate_64_bit.c b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/validate_64_bit.c new file mode 120000 index 0000000..c08acf3 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/64_bit/validate_64_bit.c @@ -0,0 +1 @@ +../shared/validate_file.c \ No newline at end of file diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/shared/create_file.c b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/create_file.c new file mode 100644 index 0000000..85c29bd --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/create_file.c @@ -0,0 +1,10 @@ +#include "shared.h" + +int random_seed; +int simulate_power_failure = 0; + +int main(int argc, char *argv[] ){ + int ret = shared_create(argc, argv); + ret = ret && shared_validate_file(argc, argv); + return ret; +} diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/shared/shared.c b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/shared.c new file mode 100644 index 0000000..31672f2 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/shared.c @@ -0,0 +1,80 @@ +#include +#include "yaffsfs.h" +#include "shared.h" + +void assert_exit_yaffs(char *fun_name, int fun_return_value){ + if (fun_return_value < 0) { + printf("yaffs command: %s failed with error code %d \n", fun_name, fun_return_value); + int error_code = yaffsfs_GetLastError(); + printf("error code is: %d, which is %s\n", error_code, yaffs_error_to_str(error_code)); + printf("exiting program now\n"); + exit(-1); + } +} + +void setup_yaffs() { + yaffs_start_up(); + yaffs_set_trace(0); + assert_exit_yaffs("yaffs_mount", yaffs_mount(YAFFS_MOUNT_POINT)); +} + + + +int shared_create(int argc, char *argv[]){ + printf("YTIME_T size is %lu bits\n", sizeof(YTIME_T) *8); + #ifdef CONFIG_YAFFS_USE_32_BIT_TIME_T + if (sizeof(YTIME_T)*8 != 32) { + printf("YTIME_T size is incorrect. it is %lu and should be 32\n", sizeof(YTIME_T)); + } + #endif + if (argc != 3) { + printf("wrong number of arguments\n"); + printf("requires $ create file_name time\n"); + return TEST_FAIL; + } + + setup_yaffs(); + char *file_path = argv[1]; + int handle = yaffs_open(file_path, O_CREAT | O_RDWR, S_IREAD |S_IWRITE); + assert_exit_yaffs ( "yaffs_open", handle); + + assert_exit_yaffs ( "yaffs_close", yaffs_close(handle)); + + + //set the time. + uint time = atoi(argv[2]); + + struct yaffs_utimbuf new_times; + new_times.actime = time; + int ret = yaffs_utime(file_path, &new_times); + assert_exit_yaffs("yaffs_utime", ret); + + assert_exit_yaffs("yaffs_unmount", yaffs_unmount(YAFFS_MOUNT_POINT)); + return 0; +} + +int shared_validate_file(int argc, char *argv[]){ + + if (argc != 3) { + printf("wrong number of arguments\n"); + printf("requires $ create file_name time\n"); + return TEST_FAIL; + } + + setup_yaffs(); + char *file_path = argv[1]; + int handle = yaffs_open(file_path, O_RDWR, S_IREAD |S_IWRITE); + assert_exit_yaffs ( "yaffs_open", handle); + + //assert the file is the correct size and has the correct time. + uint expected_time = atoi(argv[2]); + struct yaffs_stat stat; + assert_exit_yaffs ( "yaffs_stat", yaffs_stat(file_path, &stat)); + assert_exit_yaffs ( "yaffs_close", yaffs_close(handle)); + if (stat.yst_atime != expected_time) { + printf("stat time is different from expected time\n"); + exit(0); + } + assert_exit_yaffs("yaffs_unmount", yaffs_unmount(YAFFS_MOUNT_POINT)); + return 0; +} diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/shared/shared.h b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/shared.h new file mode 100644 index 0000000..31b64b8 --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/shared.h @@ -0,0 +1,13 @@ +#ifndef __SHARED_H__ +#define __SHARED_H__ + +#define TEST_PASS 0 +#define TEST_FAIL 1 + +#define YAFFS_MOUNT_POINT "/yflash2/" +#define FILE_PATH "/yflash2/foo.txt" + +void setup_yaffs(); +int shared_create(); +int shared_validate_file(); +#endif diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/shared/validate_file.c b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/validate_file.c new file mode 100644 index 0000000..df1fcdb --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/shared/validate_file.c @@ -0,0 +1,8 @@ +#include "shared.h" + +int random_seed; +int simulate_power_failure = 0; + +int main(int argc, char *argv[] ){ + return shared_validate_file(argc, argv); +} diff --git a/direct/test-framework/unit_tests/64_and_32_bit_time/time_test_runner.sh b/direct/test-framework/unit_tests/64_and_32_bit_time/time_test_runner.sh new file mode 100755 index 0000000..74d1cec --- /dev/null +++ b/direct/test-framework/unit_tests/64_and_32_bit_time/time_test_runner.sh @@ -0,0 +1,14 @@ +make -C 32_bit/ && make -C 64_bit/ && + rm emfile-* && + ./32_bit/create_32_bit /yflash2/foo 100 && + echo created 32 bit file && + ./64_bit/validate_64_bit /yflash2/foo 100 && + echo 32 bit file opened with 64 bit mode correctly + + rm emfile-* && + ./64_bit/create_64_bit /yflash2/foo 100 && + echo created 64 bit file && + ./32_bit/validate_32_bit /yflash2/foo 100 && + echo 64 bit file opened with 32 bit mode correctly && + + echo All tests ran properly diff --git a/direct/test-framework/unit_tests/is_yaffs_working_tests/.gitignore b/direct/test-framework/unit_tests/is_yaffs_working_tests/.gitignore new file mode 100644 index 0000000..2e6dc02 --- /dev/null +++ b/direct/test-framework/unit_tests/is_yaffs_working_tests/.gitignore @@ -0,0 +1 @@ +test_1_yaffs_mount diff --git a/direct/test-framework/timothy_tests/is_yaffs_working_tests/Makefile b/direct/test-framework/unit_tests/is_yaffs_working_tests/Makefile similarity index 86% rename from direct/test-framework/timothy_tests/is_yaffs_working_tests/Makefile rename to direct/test-framework/unit_tests/is_yaffs_working_tests/Makefile index 43c8cb8..8141370 100644 --- a/direct/test-framework/timothy_tests/is_yaffs_working_tests/Makefile +++ b/direct/test-framework/unit_tests/is_yaffs_working_tests/Makefile @@ -30,12 +30,9 @@ ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(FUZZER_OBJS) include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk - -yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) - - +phony. test: test_1_yaffs_mount + ./test_1_yaffs_mount test_1_yaffs_mount: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) + gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) -lpthread diff --git a/direct/test-framework/timothy_tests/is_yaffs_working_tests/README.txt b/direct/test-framework/unit_tests/is_yaffs_working_tests/README.txt similarity index 100% rename from direct/test-framework/timothy_tests/is_yaffs_working_tests/README.txt rename to direct/test-framework/unit_tests/is_yaffs_working_tests/README.txt diff --git a/direct/test-framework/timothy_tests/is_yaffs_working_tests/test_1_yaffs_mount.c b/direct/test-framework/unit_tests/is_yaffs_working_tests/test_1_yaffs_mount.c similarity index 69% rename from direct/test-framework/timothy_tests/is_yaffs_working_tests/test_1_yaffs_mount.c rename to direct/test-framework/unit_tests/is_yaffs_working_tests/test_1_yaffs_mount.c index 0d908b1..34d6583 100644 --- a/direct/test-framework/timothy_tests/is_yaffs_working_tests/test_1_yaffs_mount.c +++ b/direct/test-framework/unit_tests/is_yaffs_working_tests/test_1_yaffs_mount.c @@ -12,8 +12,8 @@ #include "yaffsfs.h" -#define YAFFS_MOUNT_POINT "/yaffs2/" -#define FILE_PATH "/yaffs2/foo.txt" +#define YAFFS_MOUNT_POINT "/yflash2/" +#define FILE_PATH "/yflash2/foo.txt" int random_seed; int simulate_power_failure = 0; @@ -30,67 +30,69 @@ int main() output = yaffs_mount(YAFFS_MOUNT_POINT); if (output>=0){ - printf("yaffs mounted: %s\n",YAFFS_MOUNT_POINT); + printf("yaffs correctly mounted: %s\n",YAFFS_MOUNT_POINT); } else { - printf("error\n yaffs failed to mount: %s\nerror\n",YAFFS_MOUNT_POINT); - return (0); + printf("error\n yaffs failed to mount: %s\n with error code %d\n",YAFFS_MOUNT_POINT, yaffs_get_error()); + + return (-1); } //now create a file. output = yaffs_open(FILE_PATH,O_CREAT | O_RDWR, S_IREAD | S_IWRITE); if (output>=0){ - printf("file created: %s\n",FILE_PATH); + printf("yaffs correctly created a the file: %s\n",FILE_PATH); } else { printf("error\n yaffs failed to create the file: %s\nerror\n",FILE_PATH); - return (0); + return (-1); } output2 = yaffs_close(output); if (output2>=0){ - printf("file closed: %s\n",FILE_PATH); + printf("yaffs correctly closed the file: %s\n",FILE_PATH); } else { printf("error\n yaffs failed to close the file: %s\nerror\n",FILE_PATH); - return (0); + return (-1); } //unmount and remount the mount point. output = yaffs_unmount(YAFFS_MOUNT_POINT); if (output>=0){ - printf("yaffs unmounted: %s\n",YAFFS_MOUNT_POINT); + printf("yaffs correctly unmounted: %s\n",YAFFS_MOUNT_POINT); } else { printf("error\n yaffs failed to unmount: %s\nerror\n",YAFFS_MOUNT_POINT); - return (0); + return (-1); } output = yaffs_mount(YAFFS_MOUNT_POINT); if (output>=0){ - printf("yaffs mounted: %s\n",YAFFS_MOUNT_POINT); + printf("yaffs correctly mounted: %s\n",YAFFS_MOUNT_POINT); } else { printf("error\n yaffs failed to mount: %s\nerror\n",YAFFS_MOUNT_POINT); - return (0); + return (-1); } //now open the existing file. output = yaffs_open(FILE_PATH, O_RDWR, S_IREAD | S_IWRITE); if (output>=0){ - printf("file created: %s\n",FILE_PATH); + printf("yaffs correctly opened the file: %s\n",FILE_PATH); } else { printf("error\n yaffs failed to create the file: %s\nerror\n",FILE_PATH); - return (0); + return (-1); } //close the file. output2 = yaffs_close(output); if (output2>=0){ - printf("file closed: %s\n",FILE_PATH); + printf("yaffs correctly closed the file: %s\n",FILE_PATH); } else { printf("error\n yaffs failed to close the file: %s\nerror\n",FILE_PATH); - return (0); + return (-1); } //unmount the mount point. output = yaffs_unmount(YAFFS_MOUNT_POINT); if (output>=0){ - printf("yaffs unmounted: %s\n",YAFFS_MOUNT_POINT); + printf("yaffs correctly unmounted: %s\n",YAFFS_MOUNT_POINT); } else { printf("error\n yaffs failed to unmount: %s\nerror\n",YAFFS_MOUNT_POINT); - return (0); + return (-1); } printf("test passed. yay!\n"); + return(0); } diff --git a/direct/test-framework/unit_tests/quick_tests/.gitignore b/direct/test-framework/unit_tests/quick_tests/.gitignore new file mode 100644 index 0000000..5e958c3 --- /dev/null +++ b/direct/test-framework/unit_tests/quick_tests/.gitignore @@ -0,0 +1 @@ +quick_tests diff --git a/direct/test-framework/timothy_tests/quick_tests/Makefile b/direct/test-framework/unit_tests/quick_tests/Makefile similarity index 97% rename from direct/test-framework/timothy_tests/quick_tests/Makefile rename to direct/test-framework/unit_tests/quick_tests/Makefile index 614ae39..3c9ce34 100644 --- a/direct/test-framework/timothy_tests/quick_tests/Makefile +++ b/direct/test-framework/unit_tests/quick_tests/Makefile @@ -23,7 +23,7 @@ TESTFILES = quick_tests.o lib.o \ test_yaffs_mount.o test_yaffs_mount_ENODEV.o test_yaffs_mount_ENAMETOOLONG.o test_yaffs_mount_EBUSY.o \ test_yaffs_mount_NULL.o \ test_yaffs_unmount.o test_yaffs_unmount_ENODEV.o test_yaffs_unmount_ENAMETOOLONG.o test_yaffs_unmount_EBUSY.o \ - test_yaffs_open.o test_yaffs_open_ENOENT.o test_yaffs_open_ENOTDIR.o test_yaffs_open_EEXIST.o test_yaffs_open_EISDIR.o \ + test_yaffs_open.o test_yaffs_open_ENOENT.o test_yaffs_open_ENOTDIR.o test_yaffs_open_EEXIST.o \ test_yaffs_open_ENAMETOOLONG.o test_yaffs_open_EINVAL.o test_yaffs_open_EINVAL2.o test_yaffs_open_ELOOP.o \ test_yaffs_open_ELOOP_dir.o test_yaffs_open_EROFS.o test_yaffs_open_EACCES.o test_yaffs_open_NULL.o \ test_yaffs_unlink.o test_yaffs_unlink_EISDIR.o test_yaffs_unlink_ENOENT.o test_yaffs_unlink_ENAMETOOLONG.o \ @@ -94,10 +94,8 @@ ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(FUZZER_OBJS) include $(YDI_FRAMEWORK_DIR)/FrameworkRules.mk - -yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) - gcc $(CFLAGS) -o $@ $(YAFFS_TEST_OBJS) -lpthread - +phony. test: quick_tests + ./quick_tests quick_tests: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS) diff --git a/direct/test-framework/timothy_tests/quick_tests/README.txt b/direct/test-framework/unit_tests/quick_tests/README.txt similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/README.txt rename to direct/test-framework/unit_tests/quick_tests/README.txt diff --git a/direct/test-framework/timothy_tests/quick_tests/lib.c b/direct/test-framework/unit_tests/quick_tests/lib.c similarity index 99% rename from direct/test-framework/timothy_tests/quick_tests/lib.c rename to direct/test-framework/unit_tests/quick_tests/lib.c index 5673ff1..2063d2c 100644 --- a/direct/test-framework/timothy_tests/quick_tests/lib.c +++ b/direct/test-framework/unit_tests/quick_tests/lib.c @@ -136,7 +136,7 @@ int delete_dir(char *dir_name) yaffs_DIR *d; struct yaffs_dirent *de; struct yaffs_stat s; - char str[100]; + char str[300]; d = yaffs_opendir(dir_name); //printf("%s\n",dir_name); if(!d) diff --git a/direct/test-framework/timothy_tests/quick_tests/lib.h b/direct/test-framework/unit_tests/quick_tests/lib.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/lib.h rename to direct/test-framework/unit_tests/quick_tests/lib.h diff --git a/direct/test-framework/timothy_tests/quick_tests/quick_tests.c b/direct/test-framework/unit_tests/quick_tests/quick_tests.c similarity index 95% rename from direct/test-framework/timothy_tests/quick_tests/quick_tests.c rename to direct/test-framework/unit_tests/quick_tests/quick_tests.c index e015d02..21a0cf3 100644 --- a/direct/test-framework/timothy_tests/quick_tests/quick_tests.c +++ b/direct/test-framework/unit_tests/quick_tests/quick_tests.c @@ -48,7 +48,7 @@ int main(int argc, char *argv[]) run_random_test_loop(); } /*this is where the loop should break to*/ - quit_quick_tests(0); + quit_quick_tests(); } @@ -102,7 +102,7 @@ void run_test(int x) get_error(); print_message("\n\n",1); if (get_exit_on_error()){ - quit_quick_tests(1); + quit_quick_tests(); } } output=0; @@ -116,7 +116,7 @@ void run_test(int x) get_error(); printf("\n\n"); if (get_exit_on_error()){ - quit_quick_tests(1); + quit_quick_tests(); } } else { @@ -130,7 +130,7 @@ void run_test(int x) delete_dir(TEST_DIR); } -void quit_quick_tests(int exit_code) +void quit_quick_tests() { /*char message[30]; message[0]='\0'; @@ -140,6 +140,9 @@ void quit_quick_tests(int exit_code) } printf("out of %d tests, %d ran: %d passed and %d failed\n\n\n", total_number_of_tests,(num_of_tests_pass+num_of_tests_failed) ,num_of_tests_pass,num_of_tests_failed); yaffs_unmount(YAFFS_MOUNT_POINT); + + //remember that the exit_code needs to be 0 when all the tests pass. + int exit_code = num_of_tests_failed != 0; exit(exit_code); } diff --git a/direct/test-framework/timothy_tests/quick_tests/quick_tests.h b/direct/test-framework/unit_tests/quick_tests/quick_tests.h similarity index 99% rename from direct/test-framework/timothy_tests/quick_tests/quick_tests.h rename to direct/test-framework/unit_tests/quick_tests/quick_tests.h index ce49d06..9644ae7 100644 --- a/direct/test-framework/timothy_tests/quick_tests/quick_tests.h +++ b/direct/test-framework/unit_tests/quick_tests/quick_tests.h @@ -29,7 +29,6 @@ #include "test_yaffs_unmount_EBUSY.h" #include "test_yaffs_open.h" -#include "test_yaffs_open_EISDIR.h" #include "test_yaffs_open_EEXIST.h" #include "test_yaffs_open_ENOENT.h" #include "test_yaffs_open_ENOTDIR.h" @@ -286,7 +285,6 @@ test_template test_list[]={ {test_yaffs_unmount_EBUSY,test_yaffs_unmount_EBUSY_clean,"test_yaffs_unmount_EBUSY"}, {test_yaffs_open,test_yaffs_open_clean,"test_yaffs_open"}, - {test_yaffs_open_EISDIR,test_yaffs_open_EISDIR_clean,"test_yaffs_open_EISDIR"}, {test_yaffs_open_EEXIST,test_yaffs_open_EEXIST_clean,"test_yaffs_open_EEXIST"}, {test_yaffs_open_ENOTDIR,test_yaffs_open_ENOTDIR_clean,"test_yaffs_open_ENOTDIR"}, {test_yaffs_open_ENOENT,test_yaffs_open_ENOENT_clean,"test_yaffs_open_ENOENT"}, @@ -522,7 +520,7 @@ test_template test_list[]={ void logical_run_of_tests(void); void init_quick_tests(int argc, char *argv[]); -void quit_quick_tests(int exit_code); +void quit_quick_tests(); void get_error(void); void run_random_test_loop(void); void run_test(int x); diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EACCES.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EACCES.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EACCES.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EACCES.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EACCES.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EACCES.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EACCES.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EACCES.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_access_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_access_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_access_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_chmod_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_chmod_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_close.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_close.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_close.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_close.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_close.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_close.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_close.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_close.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_close_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_close_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_close_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_close_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_close_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_close_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_close_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_close_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_close_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_dup.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_dup.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_dup.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_dup.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_dup_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_dup_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_dup_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_dup_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_dup_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fchmod_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fchmod_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fdatasync_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fdatasync_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_flush.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_flush.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_flush.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_flush.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_flush_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_flush_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_freespace_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_freespace_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fstat_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fstat_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_fsync_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_fsync_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_big_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_big_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_big_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_big_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_big_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_big_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_ftruncate_big_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_ftruncate_big_file.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_inodecount_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_inodecount_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EEXIST.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EEXIST.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EEXIST.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EEXIST.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EEXIST.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EEXIST.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EEXIST.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EEXIST.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENAMETOOLONG2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT3.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT3.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT3.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT3.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT3.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT3.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT3.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT3.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT4.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT4.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT4.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT4.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT4.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT4.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOENT4.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOENT4.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_ENOTDIR2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_ENOTDIR2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_link_NULL2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_link_NULL2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_big_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_big_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_big_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_big_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_big_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_big_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lseek_big_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lseek_big_file.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_lstat_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_lstat_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EEXIST.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EEXIST.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EEXIST.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EEXIST.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EEXIST.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EEXIST.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EEXIST.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EEXIST.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mkdir_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mkdir_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2_ENODEV.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2_ENODEV.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2_ENODEV.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2_ENODEV.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2_ENODEV.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2_ENODEV.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount2_ENODEV.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount2_ENODEV.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_EBUSY.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_EBUSY.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_EBUSY.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_EBUSY.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_EBUSY.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_EBUSY.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_EBUSY.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_EBUSY.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENODEV.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENODEV.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENODEV.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENODEV.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENODEV.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENODEV.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_ENODEV.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_ENODEV.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_mount_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_mount_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EACCES.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EACCES.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EACCES.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EACCES.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EACCES.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EACCES.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EACCES.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EACCES.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EEXIST.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EEXIST.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EEXIST.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EEXIST.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EEXIST.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EEXIST.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EEXIST.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EEXIST.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EINVAL2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EINVAL2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_open_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_open_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_open_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_read.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_read.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_read.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_read.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_read.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_read.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_read.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_read.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_read_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_read_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENODEV.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENODEV.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENODEV.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENODEV.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENODEV.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENODEV.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_ENODEV.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_ENODEV.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_off.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_off_read_only_on.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_off.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_remount_force_on_read_only_on.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EEXISTS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EEXISTS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EEXISTS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EEXISTS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EEXISTS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EEXISTS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EEXISTS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EEXISTS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENAMETOOLONG2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_ENOTEMPTY.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_NULL2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_NULL2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_not_empty.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_not_empty.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_not_empty.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_not_empty.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_not_empty.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_not_empty.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_not_empty.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_not_empty.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_over_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_over_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_over_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_over_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_over_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_over_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_over_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_over_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_to_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_to_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_to_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_dir_to_file.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_over_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_over_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_over_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_over_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_over_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_over_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_over_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_over_file.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_to_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_to_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_to_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_file_to_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_full_dir_over_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_to_null_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_to_null_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_to_null_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_to_null_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_to_null_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_to_null_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_to_null_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rename_to_null_file.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EBUSY.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EBUSY.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EBUSY.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EBUSY.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EBUSY.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EBUSY.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EBUSY.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EBUSY.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_ENOTEMPTY.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_rmdir_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_rmdir_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_stat_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_stat_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EEXIST.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EEXIST.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EEXIST.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EEXIST.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EEXIST.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EEXIST.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EEXIST.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EEXIST.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_symlink_NULL2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_symlink_NULL2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENODEV.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENODEV.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENODEV.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENODEV.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENODEV.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENODEV.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_ENODEV.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_ENODEV.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_sync_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_sync_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_totalspace_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_totalspace_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EISDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EISDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EISDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EISDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EISDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EISDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EISDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EISDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_big_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_big_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_big_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_big_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_big_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_big_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_truncate_big_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_truncate_big_file.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EISDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EISDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EISDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EISDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EISDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EISDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EISDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EISDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ELOOP_dir.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOENT2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOENT2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOTDIR.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOTDIR.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOTDIR.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOTDIR.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOTDIR.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOTDIR.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_ENOTDIR.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_ENOTDIR.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unlink_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unlink_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_EINVAL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_EINVAL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_EINVAL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_EINVAL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_EINVAL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_EINVAL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_EINVAL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_EINVAL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_ENODEV.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_ENODEV.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_ENODEV.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_ENODEV.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_ENODEV.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_ENODEV.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_ENODEV.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_ENODEV.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_off.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount2_with_handle_open_and_forced_mode_on.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_EBUSY.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_EBUSY.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_EBUSY.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_EBUSY.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_EBUSY.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_EBUSY.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_EBUSY.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_EBUSY.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENAMETOOLONG.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENODEV.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENODEV.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENODEV.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENODEV.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENODEV.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENODEV.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_ENODEV.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_ENODEV.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_NULL.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_NULL.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_NULL.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_NULL.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_NULL.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_NULL.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_unmount_NULL.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_unmount_NULL.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EBADF.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EBADF.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EBADF.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EBADF.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EBADF.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EBADF.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EBADF.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EBADF.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EROFS.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EROFS.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EROFS.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EROFS.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EROFS.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EROFS.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_EROFS.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write_EROFS.h diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_big_file.c b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write_big_file.c similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_big_file.c rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write_big_file.c diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_big_file.h b/direct/test-framework/unit_tests/quick_tests/test_yaffs_write_big_file.h similarity index 100% rename from direct/test-framework/timothy_tests/quick_tests/test_yaffs_write_big_file.h rename to direct/test-framework/unit_tests/quick_tests/test_yaffs_write_big_file.h diff --git a/direct/test-framework/unit_tests/test_runner.py b/direct/test-framework/unit_tests/test_runner.py new file mode 100755 index 0000000..9d963e9 --- /dev/null +++ b/direct/test-framework/unit_tests/test_runner.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +""" +test_runner.py +This file runs all of the yaffs unit tests and aggrates the outputs. + +To run this file you can use: + +$ python3 test_runner.py + +or + +$ ./test_runner.py + +To add a new test to this test runner, add the test dir path to the +test_list below. Inside that folder there need to be a makefile with +a "test" target that compiles and runs the test script. I.e. "make test" +is called in every test directory. +""" + + +import subprocess, sys + +test_list = ["is_yaffs_working_tests", + "quick_tests", + "64_and_32_bit_time/64_bit", + "64_and_32_bit_time/32_bit", + ] + + +TEST_FAILED = -1 +TEST_PASSED = 1 + +def run(makefile_paths): + failed_tests =[] + for path in makefile_paths: + print("\nrunning test {}".format(path)) + is_successful, test_output = run_makefile_test(path) + if is_successful != TEST_PASSED: + print('\033[41m' +'test {} failed'.format(path)+'\033[0m') + print(test_output) + failed_tests.append( (path, is_successful) ) + else: + print('\033[42m' +"test passed"+'\033[0m') + return failed_tests + +def run_makefile_test(path): + try: + subprocess.check_output("make -j -C {} test".format(path), shell=True) + except subprocess.CalledProcessError as e: + return (TEST_FAILED, e.output.decode('UTF-8')) + + return (TEST_PASSED, "test passed") + +def clean_tests(makefile_paths): + cmds = [("make -j -C {} clean".format(path), path) for path in makefile_paths] + + failed = 0 + passed = 0 + + for cmd, is_successful, cmd_text, debug_info in run_cmds(cmds): + if not is_successful: + print("\033[41mtest failed to clean\033[0m {}".format(debug_info[0])) + failed += 1 + else : + print("\033[42mtest cleaned successfully\033[0m {}".format(debug_info[0])) + passed += 1 + if not failed: + print ("\n\033[42mAll tests cleaned successfully\033[0m") + else : + print ("\n\033[42mTests failed to clean successfully\033[0m") + print("ran {}, passed {}, failed {}".format(len(cmds), passed, failed)) + +def run_tests(makefile_paths): + cmds = [("make -j -C {} test".format(path), path) for path in makefile_paths] + + failed = 0 + passed = 0 + + print("running tests") + for cmd, is_successful, cmd_text, debug_info in run_cmds(cmds): + if not is_successful: + print("\033[41mtest failed\033[0m {}".format(debug_info[0])) + failed += 1 + else : + print("\033[42mtest passed\033[0m {}".format(debug_info[0])) + passed += 1 + if not failed: + print ("\n\033[42mAll tests passed\033[0m") + else : + print ("\n\033[41mTests failed\033[0m") + print("ran {}, passed {}, failed {}".format(len(cmds), passed, failed)) + +def run_cmds(cmds): + output = [] + for cmd, *debug_info in cmds: + try: + subprocess.check_output(cmd, shell=True) + output.append((cmd, True, "todo add getting text for non failing test", debug_info)) + except subprocess.CalledProcessError as e: + output.append((cmd, False, e.output.decode('UTF-8'), debug_info)) + return output +if __name__ == "__main__": + if len(sys.argv) == 2 and sys.argv[1] == "clean": + clean_tests(test_list) + elif len(sys.argv) == 1: + #run the test runner. + failed_tests = run_tests(test_list) + else: + print("run with command ./test_runner.py [clean]") diff --git a/direct/yaffs_attribs.c b/direct/yaffs_attribs.c index 5486bdd..e798a88 100644 --- a/direct/yaffs_attribs.c +++ b/direct/yaffs_attribs.c @@ -15,6 +15,7 @@ void yaffs_load_attribs(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh) { + #ifdef CONFIG_YAFFS_WINCE obj->win_atime[0] = oh->win_atime[0]; obj->win_ctime[0] = oh->win_ctime[0]; @@ -25,9 +26,11 @@ void yaffs_load_attribs(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh) #else obj->yst_uid = oh->yst_uid; obj->yst_gid = oh->yst_gid; - obj->yst_atime = oh->yst_atime; - obj->yst_mtime = oh->yst_mtime; - obj->yst_ctime = oh->yst_ctime; + + obj->yst_ctime = yaffs_oh_ctime_fetch(oh); + obj->yst_mtime = yaffs_oh_mtime_fetch(oh); + obj->yst_atime = yaffs_oh_atime_fetch(oh); + obj->yst_rdev = oh->yst_rdev; #endif } @@ -45,9 +48,11 @@ void yaffs_load_attribs_oh(struct yaffs_obj_hdr *oh, struct yaffs_obj *obj) #else oh->yst_uid = obj->yst_uid; oh->yst_gid = obj->yst_gid; - oh->yst_atime = obj->yst_atime; - oh->yst_mtime = obj->yst_mtime; - oh->yst_ctime = obj->yst_ctime; + + yaffs_oh_ctime_load(obj, oh); + yaffs_oh_mtime_load(obj, oh); + yaffs_oh_atime_load(obj, oh); + oh->yst_rdev = obj->yst_rdev; #endif } @@ -81,8 +86,8 @@ void yaffs_load_current_time(struct yaffs_obj *obj, int do_a, int do_c) obj->yst_mtime = Y_CURRENT_TIME; if (do_a) - obj->yst_atime = obj->yst_atime; + obj->yst_atime = obj->yst_mtime; if (do_c) - obj->yst_ctime = obj->yst_atime; + obj->yst_ctime = obj->yst_mtime; #endif } diff --git a/direct/yaffsfs.c b/direct/yaffsfs.c index d1e4e4e..823f7ed 100644 --- a/direct/yaffsfs.c +++ b/direct/yaffsfs.c @@ -1943,17 +1943,21 @@ static int yaffsfs_DoUtime(struct yaffs_obj *obj, } #if !CONFIG_YAFFS_WINCE + // if the the buffer is null then create one with the fields set to the current time. if (!buf) { local.actime = Y_CURRENT_TIME; local.modtime = local.actime; buf = &local; } + // copy the buffer's time into the obj. if (obj) { int result; obj->yst_atime = buf->actime; obj->yst_mtime = buf->modtime; + + // set the obj to dirty to cause it to be written to flash during the next flush operation. obj->dirty = 1; result = yaffs_flush_file(obj, 0, 0, 0); retVal = result == YAFFS_OK ? 0 : -1; @@ -3106,14 +3110,17 @@ int yaffs_unmount2_common(struct yaffs_dev *dev, const YCHAR *path, int force) { int retVal = -1; - if (yaffsfs_CheckMemRegion(path, 0, 0) < 0) { - yaffsfs_SetError(-EFAULT); - return -1; - } - if (yaffsfs_CheckPath(path) < 0) { - yaffsfs_SetError(-ENAMETOOLONG); - return -1; + if (!dev) { + if (yaffsfs_CheckMemRegion(path, 0, 0) < 0) { + yaffsfs_SetError(-EFAULT); + return -1; + } + + if (yaffsfs_CheckPath(path) < 0) { + yaffsfs_SetError(-ENAMETOOLONG); + return -1; + } } yaffsfs_Lock(); diff --git a/direct/yaffsfs.h b/direct/yaffsfs.h index b96011f..b96411f 100644 --- a/direct/yaffsfs.h +++ b/direct/yaffsfs.h @@ -69,16 +69,16 @@ struct yaffs_stat { unsigned long yst_wince_mtime[2]; unsigned long yst_wince_ctime[2]; #else - unsigned long yst_atime; /* time of last access */ - unsigned long yst_mtime; /* time of last modification */ - unsigned long yst_ctime; /* time of last change */ + YTIME_T yst_atime; /* time of last access */ + YTIME_T yst_mtime; /* time of last modification */ + YTIME_T yst_ctime; /* time of last change */ #endif }; struct yaffs_utimbuf { - unsigned long actime; - unsigned long modtime; + YTIME_T actime; + YTIME_T modtime; }; /* Normal POSIX-style API functions */ diff --git a/direct/ydirectenv.h b/direct/ydirectenv.h index b477343..ae2e23c 100644 --- a/direct/ydirectenv.h +++ b/direct/ydirectenv.h @@ -29,6 +29,11 @@ void yaffs_bug_fn(const char *file_name, int line_no); #define BUG() do { yaffs_bug_fn(__FILE__, __LINE__); } while (0) +#ifdef CONFIG_YAFFS_USE_32_BIT_TIME_T + #define YTIME_T u32 +#else + #define YTIME_T u64 +#endif #define YCHAR char #define YUCHAR unsigned char diff --git a/direct/yportenv.h b/direct/yportenv.h index ee27f73..5a79f93 100644 --- a/direct/yportenv.h +++ b/direct/yportenv.h @@ -30,6 +30,7 @@ #define CONFIG_YAFFS_PROVIDE_DEFS 1 #define CONFIG_YAFFSFS_PROVIDE_VALUES 1 #define CONFIG_YAFFS_DEFINES_TYPES 1 +#define CONFIG_YAFFS_USE_32_BIT_TIME_T 1 #define NO_Y_INLINE 1 #define loff_t off_t diff --git a/rtems/Makefile.rtems b/rtems/Makefile.rtems index 4803a9f..0741179 100644 --- a/rtems/Makefile.rtems +++ b/rtems/Makefile.rtems @@ -24,6 +24,7 @@ CFLAGS += $(DEPFLAGS) $(GCCFLAGS) # Files to be made into local symlinks YCORE_SYMLINKS = \ yaffs_ecc.c \ + yaffs_cache.c \ yaffs_endian.c \ yaffs_guts.c \ yaffs_packedtags1.c \ @@ -39,6 +40,7 @@ YCORE_SYMLINKS = \ yaffs_verify.c \ yaffs_summary.c \ yaffs_tagsmarshall.c\ + yaffs_cache.h \ yaffs_ecc.h \ yaffs_guts.h \ yaffs_packedtags1.h \ @@ -93,6 +95,7 @@ LIB = $(BUILDDIR)/libyaffs2.a LIB_PIECES = yaffs_ecc \ yaffs_endian \ yaffs_guts \ + yaffs_cache \ yaffs_packedtags1 \ yaffs_tagscompat \ yaffs_tagsmarshall\ diff --git a/rtems/RTEMS_NOTES b/rtems/RTEMS_NOTES index 0366b05..5e89b13 100644 --- a/rtems/RTEMS_NOTES +++ b/rtems/RTEMS_NOTES @@ -28,38 +28,23 @@ $make -f Makefile.rtems install Building test application -$ cd rtems-y-test/ +$ cd rtems-y-test/basic-test +$ make - - -Running - -$ sparc-rtems5-sis hello_world_c/o-optimize/hello.exe +$ sparc-rtems5-sis o-optimize/yaffs-rtems-test.exe SIS - SPARC/RISCV instruction simulator 2.20, copyright Jiri Gaisler 2019 Bug-reports to jiri@gaisler.se ERC32 emulation enabled - Loaded hello_world_c/o-optimize/hello.exe, entry 0x02000000 + Loaded o-optimize/yaffs-rtems-test.exe, entry 0x02000000 sis> go resuming at 0x02000000 - - -*** HELLO WORLD TEST *** -Hello World 123 -*** END OF HELLO WORLD TEST *** - -*** FATAL *** -fatal source: 5 (RTEMS_FATAL_SOURCE_EXIT) -fatal code: 0 (0x00000000) -RTEMS version: 5.0.0.e22554535796fc29a7ed7c5e2338128e324a621d-modified -RTEMS tools: 7.5.0 20191114 (RTEMS 5, RSB 5 (599c4d7c87fa), Newlib d14714c69) -executing thread ID: 0x08a010001 -executing thread name: UI1 -cpu 0 in error mode (tt = 0x101) - 125619 0200c0e0: 91d02000 ta 0x0 -sis> +Starting +Created simulated flash device 0x2d203c8 +yaffs: 0 blocks to be sorted... +.... Running with GDB diff --git a/rtems/rtems_yaffs.c b/rtems/rtems_yaffs.c index 4611320..bb6edf1 100644 --- a/rtems/rtems_yaffs.c +++ b/rtems/rtems_yaffs.c @@ -281,9 +281,9 @@ static int ryfs_utime( obj = yaffs_get_equivalent_obj(obj); if (obj != NULL) { obj->dirty = 1; - obj->yst_atime = (u32) actime; - obj->yst_mtime = (u32) modtime; - obj->yst_ctime = (u32) time(NULL); + obj->yst_atime = actime; + obj->yst_mtime = modtime; + obj->yst_ctime = time(NULL); } else { errno = EIO; rv = -1; @@ -680,7 +680,7 @@ static int ryfs_symlink(const rtems_filesystem_location_info_t *parent_loc, mode = S_IFLNK | ((S_IRWXU | S_IRWXG | S_IRWXO) & ~rtems_filesystem_umask); - created_link = yaffs_create_symlink(parent_dir, name, mode, + created_link = yaffs_create_symlink(parent_dir, name, mode, geteuid(), getegid(), target); if (created_link != NULL) { diff --git a/rtems/rtems_yaffs_os_glue.c b/rtems/rtems_yaffs_os_glue.c index 467d8b1..8999dff 100644 --- a/rtems/rtems_yaffs_os_glue.c +++ b/rtems/rtems_yaffs_os_glue.c @@ -39,7 +39,7 @@ void yaffsfs_free(void *ptr) free(ptr); } -u32 yaffsfs_CurrentTime(void) +YTIME_T yaffsfs_CurrentTime(void) { return time(NULL); } diff --git a/yaffs_attribs.c b/yaffs_attribs.c index a9ced27..c441185 100644 --- a/yaffs_attribs.c +++ b/yaffs_attribs.c @@ -29,9 +29,11 @@ void yaffs_load_attribs(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh) { obj->yst_uid = oh->yst_uid; obj->yst_gid = oh->yst_gid; - obj->yst_atime = oh->yst_atime; - obj->yst_mtime = oh->yst_mtime; - obj->yst_ctime = oh->yst_ctime; + + obj->yst_ctime = yaffs_oh_ctime_fetch(oh); + obj->yst_mtime = yaffs_oh_mtime_fetch(oh); + obj->yst_atime = yaffs_oh_atime_fetch(oh); + obj->yst_rdev = oh->yst_rdev; } @@ -39,9 +41,11 @@ void yaffs_load_attribs_oh(struct yaffs_obj_hdr *oh, struct yaffs_obj *obj) { oh->yst_uid = obj->yst_uid; oh->yst_gid = obj->yst_gid; - oh->yst_atime = obj->yst_atime; - oh->yst_mtime = obj->yst_mtime; - oh->yst_ctime = obj->yst_ctime; + + yaffs_oh_ctime_load(obj, oh); + yaffs_oh_mtime_load(obj, oh); + yaffs_oh_atime_load(obj, oh); + oh->yst_rdev = obj->yst_rdev; } @@ -105,7 +109,6 @@ int yaffs_set_attribs(struct yaffs_obj *obj, struct iattr *attr) yaffs_update_oh(obj, NULL, 1, 0, 0, NULL); return YAFFS_OK; - } int yaffs_get_attribs(struct yaffs_obj *obj, struct iattr *attr) diff --git a/yaffs_endian.h b/yaffs_endian.h index 8c27189..09bcb29 100644 --- a/yaffs_endian.h +++ b/yaffs_endian.h @@ -25,6 +25,28 @@ static inline u32 swap_u32(u32 val) ((val <<24) & 0xff000000); } +static inline u64 swap_u64(u64 val) +{ + return ((val >> 56) & 0x00000000000000ff) | + ((val >> 40) & 0x000000000000ff00) | + ((val >> 24) & 0x0000000000ff0000) | + ((val >> 8) & 0x00000000ff000000) | + ((val << 8) & 0x000000ff00000000) | + ((val << 24) & 0x0000ff0000000000) | + ((val << 40) & 0x00ff000000000000) | + ((val << 56) & 0xff00000000000000); +} + +static inline YTIME_T swap_ytime_t(YTIME_T val) +{ + + if (sizeof(YTIME_T) == sizeof(u64)) + return swap_u64(val); + else + return swap_u32(val); +} + +//swap a signed 32 bit integer. #define swap_s32(val) \ (s32)(swap_u32((u32)(val))) diff --git a/yaffs_guts.c b/yaffs_guts.c index 3e33916..b83fa63 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -163,6 +163,8 @@ u8 *yaffs_get_temp_buffer(struct yaffs_dev * dev) } +/* Frees all the temp_buffer objects in the yaffs_dev instance +*/ void yaffs_release_temp_buffer(struct yaffs_dev *dev, u8 *buffer) { int i; @@ -4827,6 +4829,7 @@ void yaffs_deinitialise(struct yaffs_dev *dev) kfree(dev->checkpt_block_list); dev->checkpt_block_list = NULL; + dev->ll_init = 0; dev->is_mounted = 0; yaffs_deinit_nand(dev); @@ -4886,6 +4889,85 @@ int yaffs_get_n_free_chunks(struct yaffs_dev *dev) return n_free; } +/* + * Marshalling functions to get the appropriate time values saved + * and restored to/from obj headers. + * + * Note that the WinCE time fields are used to store the 32-bit values. + */ + +static void yaffs_oh_time_load(u32 *yst_time, u32 *win_time, YTIME_T timeval) +{ + u32 upper; + u32 lower; + + lower = timeval & 0xffffffff; + /* we have to use #defines here insted of an if statement + otherwise the compiler throws an error saying that + right shift count >= width of type when we are using 32 bit time. + */ + #ifdef CONFIG_YAFFS_USE_32_BIT_TIME_T + upper = 0; + #else + upper = (timeval >> 32) & 0xffffffff; + #endif + + *yst_time = lower; + win_time[0] = lower; + win_time[1] = upper; +} + +static YTIME_T yaffs_oh_time_fetch(const u32 *yst_time, const u32 *win_time) +{ + u32 upper; + u32 lower; + + if (win_time[1] == 0xffffffff) { + upper = 0; + lower = *yst_time; + } else { + upper = win_time[1]; + lower = win_time[0]; + } + if (sizeof(YTIME_T) > sizeof(u32)) { + u64 ret; + ret = (((u64)upper) << 32) | lower; + return (YTIME_T) ret; + + } else + return (YTIME_T) lower; +} + +YTIME_T yaffs_oh_ctime_fetch(struct yaffs_obj_hdr *oh) +{ + return yaffs_oh_time_fetch(&oh->yst_ctime, oh->win_ctime); +} + +YTIME_T yaffs_oh_mtime_fetch(struct yaffs_obj_hdr *oh) +{ + return yaffs_oh_time_fetch(&oh->yst_mtime, oh->win_mtime); +} + +YTIME_T yaffs_oh_atime_fetch(struct yaffs_obj_hdr *oh) +{ + return yaffs_oh_time_fetch(&oh->yst_atime, oh->win_atime); +} + +void yaffs_oh_ctime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh) +{ + yaffs_oh_time_load(&oh->yst_ctime, oh->win_ctime, obj->yst_ctime); +} + +void yaffs_oh_mtime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh) +{ + yaffs_oh_time_load(&oh->yst_mtime, oh->win_mtime, obj->yst_mtime); +} + +void yaffs_oh_atime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh) +{ + yaffs_oh_time_load(&oh->yst_atime, oh->win_atime, obj->yst_atime); +} + /* * Marshalling functions to get loff_t file sizes into and out of diff --git a/yaffs_guts.h b/yaffs_guts.h index 96fd547..74ded0b 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -354,6 +354,12 @@ struct yaffs_obj_hdr { u32 yst_rdev; /* stuff for block and char devices (major/min) */ + /* + * WinCE times are no longer just used to store WinCE times. + * They are also used to store 64-bit times. + * We actually store and read the times in both places and use + * the best we can. + */ u32 win_ctime[2]; u32 win_atime[2]; u32 win_mtime[2]; @@ -482,15 +488,17 @@ struct yaffs_obj { YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1]; #ifdef CONFIG_YAFFS_WINCE + //these are always 64 bits u32 win_ctime[2]; u32 win_mtime[2]; u32 win_atime[2]; #else - u32 yst_uid; - u32 yst_gid; - u32 yst_atime; - u32 yst_mtime; - u32 yst_ctime; + //these can be 32 or 64 bits + YTIME_T yst_uid; + YTIME_T yst_gid; + YTIME_T yst_atime; + YTIME_T yst_mtime; + YTIME_T yst_ctime; #endif u32 yst_rdev; @@ -1061,6 +1069,18 @@ void yaffs_count_blocks_by_state(struct yaffs_dev *dev, int bs[10]); int yaffs_find_chunk_in_file(struct yaffs_obj *in, int inode_chunk, struct yaffs_ext_tags *tags); +/* + *Time marshalling functions + */ + +YTIME_T yaffs_oh_ctime_fetch(struct yaffs_obj_hdr *oh); +YTIME_T yaffs_oh_mtime_fetch(struct yaffs_obj_hdr *oh); +YTIME_T yaffs_oh_atime_fetch(struct yaffs_obj_hdr *oh); + +void yaffs_oh_ctime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh); +void yaffs_oh_mtime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh); +void yaffs_oh_atime_load(struct yaffs_obj *obj, struct yaffs_obj_hdr *oh); + /* * Define LOFF_T_32_BIT if a 32-bit LOFF_T is being used. * Not serious if you get this wrong - you might just get some warnings. diff --git a/yaffs_vfs_multi.c b/yaffs_vfs_multi.c index 19c8919..a08e071 100644 --- a/yaffs_vfs_multi.c +++ b/yaffs_vfs_multi.c @@ -2047,11 +2047,11 @@ static void yaffs_fill_inode_from_obj(struct inode *inode, #if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) inode->i_rdev = old_decode_dev(obj->yst_rdev); - inode->i_atime.tv_sec = (time_t) (obj->yst_atime); + inode->i_atime.tv_sec = (YTIME_T) (obj->yst_atime); inode->i_atime.tv_nsec = 0; - inode->i_mtime.tv_sec = (time_t) obj->yst_mtime; + inode->i_mtime.tv_sec = (YTIME_T) obj->yst_mtime; inode->i_mtime.tv_nsec = 0; - inode->i_ctime.tv_sec = (time_t) obj->yst_ctime; + inode->i_ctime.tv_sec = (YTIME_T) obj->yst_ctime; inode->i_ctime.tv_nsec = 0; #else inode->i_rdev = obj->yst_rdev; diff --git a/yaffs_vfs_single.c b/yaffs_vfs_single.c index 1abbfd8..0817ff0 100644 --- a/yaffs_vfs_single.c +++ b/yaffs_vfs_single.c @@ -1890,11 +1890,11 @@ static void yaffs_fill_inode_from_obj(struct inode *inode, inode->i_rdev = old_decode_dev(obj->yst_rdev); - inode->i_atime.tv_sec = (time_t) (obj->yst_atime); + inode->i_atime.tv_sec = (YTIME_T) (obj->yst_atime); inode->i_atime.tv_nsec = 0; - inode->i_mtime.tv_sec = (time_t) obj->yst_mtime; + inode->i_mtime.tv_sec = (YTIME_T) obj->yst_mtime; inode->i_mtime.tv_nsec = 0; - inode->i_ctime.tv_sec = (time_t) obj->yst_ctime; + inode->i_ctime.tv_sec = (YTIME_T) obj->yst_ctime; inode->i_ctime.tv_nsec = 0; inode->i_size = yaffs_get_obj_length(obj); inode->i_blocks = (inode->i_size + 511) >> 9; diff --git a/yportenv_multi.h b/yportenv_multi.h index 68c239c..fa5601b 100644 --- a/yportenv_multi.h +++ b/yportenv_multi.h @@ -53,6 +53,8 @@ #define YUCHAR unsigned char #define _Y(x) x +#define YTIME_T u64 + #define YAFFS_LOSTNFOUND_NAME "lost+found" #define YAFFS_LOSTNFOUND_PREFIX "obj" diff --git a/yportenv_single.h b/yportenv_single.h index 436feae..b915433 100644 --- a/yportenv_single.h +++ b/yportenv_single.h @@ -34,6 +34,8 @@ #define YCHAR char #define YUCHAR unsigned char #define _Y(x) x +#define YTIME_T u64 + #define YAFFS_LOSTNFOUND_NAME "lost+found" #define YAFFS_LOSTNFOUND_PREFIX "obj"