Set up a test framework. driver-refactoring
authorCharles Manning <cdhmanning@gmail.com>
Mon, 25 Jun 2012 03:28:26 +0000 (15:28 +1200)
committerCharles Manning <cdhmanning@gmail.com>
Mon, 25 Jun 2012 03:28:26 +0000 (15:28 +1200)
This lays out a common test framework structure that should make it simpler to extend tests in the
future.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
46 files changed:
direct/basic-test/Makefile [deleted file]
direct/python/Makefile [deleted file]
direct/test-framework/FrameworkRules.mk [moved from direct/tests/Makefile with 74% similarity]
direct/test-framework/basic-tests/Makefile [new file with mode: 0644]
direct/test-framework/basic-tests/dtest.c [moved from direct/basic-test/dtest.c with 100% similarity]
direct/test-framework/python/Makefile [new file with mode: 0644]
direct/test-framework/python/README.txt [moved from direct/python/README.txt with 100% similarity]
direct/test-framework/python/README_yaffs_browser_py.txt [moved from direct/python/README_yaffs_browser_py.txt with 100% similarity]
direct/test-framework/python/README_yaffs_import_py.txt [moved from direct/python/README_yaffs_import_py.txt with 100% similarity]
direct/test-framework/python/examples.py [moved from direct/python/examples.py with 100% similarity]
direct/test-framework/python/yaffs_browser.py [moved from direct/python/yaffs_browser.py with 100% similarity]
direct/test-framework/python/yaffs_importer.py [moved from direct/python/yaffs_importer.py with 100% similarity]
direct/test-framework/python/yaffs_python_helper.c [moved from direct/python/yaffs_python_helper.c with 100% similarity]
direct/test-framework/python/yaffsfs.py [moved from direct/python/yaffsfs.py with 100% similarity]
direct/test-framework/tests/Makefile [new file with mode: 0644]
direct/test-framework/tests/README [moved from direct/tests/README with 100% similarity]
direct/test-framework/tests/fuzzer.c [moved from direct/tests/fuzzer.c with 100% similarity]
direct/test-framework/tests/init_fw_update_test_nand.sh [moved from direct/tests/init_fw_update_test_nand.sh with 100% similarity]
direct/test-framework/tests/init_fw_update_test_nor.sh [moved from direct/tests/init_fw_update_test_nor.sh with 100% similarity]
direct/test-framework/tests/launch_tests.sh [moved from direct/tests/launch_tests.sh with 100% similarity]
direct/test-framework/tests/manage_nand_test.sh [moved from direct/tests/manage_nand_test.sh with 100% similarity]
direct/test-framework/tests/manage_nor_test.sh [moved from direct/tests/manage_nor_test.sh with 100% similarity]
direct/test-framework/tests/nor_stress.c [moved from direct/tests/nor_stress.c with 100% similarity]
direct/test-framework/tests/nor_stress.h [moved from direct/tests/nor_stress.h with 100% similarity]
direct/test-framework/tests/run_fuzz_test_nand.sh [moved from direct/tests/run_fuzz_test_nand.sh with 100% similarity]
direct/test-framework/tests/run_fw_update_test_nand.sh [moved from direct/tests/run_fw_update_test_nand.sh with 100% similarity]
direct/test-framework/tests/run_fw_update_test_nor.sh [moved from direct/tests/run_fw_update_test_nor.sh with 100% similarity]
direct/test-framework/tests/yaffs_fsx.c [moved from direct/tests/yaffs_fsx.c with 100% similarity]
direct/test-framework/tests/yaffs_fsx.h [moved from direct/tests/yaffs_fsx.h with 100% similarity]
direct/test-framework/tests/yaffs_test.c [moved from direct/tests/yaffs_test.c with 100% similarity]
direct/test-framework/yaffs_fileem.c [moved from direct/basic-test/yaffs_fileem.c with 100% similarity]
direct/test-framework/yaffs_fileem2k.c [moved from direct/basic-test/yaffs_fileem2k.c with 100% similarity]
direct/test-framework/yaffs_fileem2k.h [moved from direct/basic-test/yaffs_fileem2k.h with 100% similarity]
direct/test-framework/yaffs_m18_drv.c [moved from direct/basic-test/yaffs_m18_drv.c with 99% similarity]
direct/test-framework/yaffs_m18_drv.h [moved from direct/basic-test/yaffs_m18_drv.h with 100% similarity]
direct/test-framework/yaffs_osglue.c [moved from direct/basic-test/yaffs_osglue.c with 95% similarity]
direct/test-framework/yaffs_ramdisk.c [moved from direct/basic-test/yaffs_ramdisk.c with 100% similarity]
direct/test-framework/yaffs_ramdisk.h [moved from direct/basic-test/yaffs_ramdisk.h with 100% similarity]
direct/test-framework/yaffs_ramem2k.c [moved from direct/basic-test/yaffs_ramem2k.c with 100% similarity]
direct/test-framework/yaffscfg.c [moved from direct/basic-test/yaffscfg.c with 100% similarity]
direct/test-framework/yaffscfg2k.c [moved from direct/basic-test/yaffscfg2k.c with 94% similarity]
direct/test-framework/yaffsnewcfg.c [moved from direct/basic-test/yaffsnewcfg.c with 100% similarity]
direct/test-framework/ynorsim.c [moved from direct/basic-test/ynorsim.c with 100% similarity]
direct/test-framework/ynorsim.h [moved from direct/basic-test/ynorsim.h with 100% similarity]
direct/test-framework/yramsim.c [moved from direct/basic-test/yramsim.c with 100% similarity]
direct/test-framework/yramsim.h [moved from direct/basic-test/yramsim.h with 100% similarity]

diff --git a/direct/basic-test/Makefile b/direct/basic-test/Makefile
deleted file mode 100644 (file)
index e90277d..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-# Makefile for YAFFS direct test
-#
-#
-# YAFFS: Yet another Flash File System. A NAND-flash specific file system.
-#
-# Copyright (C) 2003-2010 Aleph One Ltd.
-#
-#
-# Created by Charles Manning <charles@aleph1.co.uk>
-#
-# 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.
-#
-
-#EXTRA_COMPILE_FLAGS = -DYAFFS_IGNORE_TAGS_ECC
-
-CFLAGS =      -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_YAFFS2 -D CONFIG_YAFFS_DEFINES_TYPES
-CFLAGS +=     -DCONFIG_YAFFS_PROVIDE_DEFS -DCONFIG_YAFFSFS_PROVIDE_VALUES -DNO_Y_INLINE
-CFLAGS +=    -Wall -g $(EXTRA_COMPILE_FLAGS) -Werror=strict-aliasing 
-#CFLAGS +=    -fno-strict-aliasing
-CFLAGS +=    -O0
-#CFLAGS +=    -DVALGRIND_TEST
-#CFLAGS +=     -DCONFIG_YAFFS_CASE_INSENSITIVE
-
-CFLAGS+=   -Wshadow -Werror=pointer-arith -Werror=write-strings
-CFLAGS+=   -Werror=strict-prototypes -Werror=missing-parameter-type
-CFLAGS+=   -Werror=redundant-decls -Werror=nested-externs -Winline
-CFLAGS+=   -Werror=undef
-
-CFLAGS+=   -DCONFIG_YAFFS_USE_PTHREADS -lpthread
-
-
-COMMONTESTOBJS = yaffscfg2k.o yaffs_osglue.o yaffs_hweight.o \
-                yaffs_ecc.o yaffs_fileem.o yaffs_fileem2k.o yaffsfs.o yaffs_guts.o \
-                yaffs_packedtags1.o yaffs_ramdisk.o yaffs_ramem2k.o \
-                yaffs_tagscompat.o yaffs_tagsmarshall.o \
-                yaffs_packedtags2.o yaffs_nand.o \
-                yaffs_checkptrw.o  yaffs_qsort.o\
-                yaffs_nameval.o yaffs_attribs.o \
-                yaffs_m18_drv.o  ynorsim.o \
-                yaffs_allocator.o \
-                yaffs_bitmap.o \
-                yaffs_yaffs1.o \
-                yaffs_yaffs2.o \
-                yaffs_verify.o \
-                yaffs_summary.o
-
-#               yaffs_checkptrwtest.o\
-
-
-YAFFSDIRECTSYMLINKS = \
-          yaffs_ecc.c yaffs_ecc.h yaffs_guts.c yaffs_guts.h \
-          yaffs_tagscompat.c yaffs_tagscompat.h \
-          yaffs_tagsmarshall.c yaffs_tagsmarshall.h \
-          yaffs_packedtags1.c yaffs_packedtags1.h yaffs_packedtags2.c yaffs_packedtags2.h \
-          yaffs_nand.c yaffs_nand.h yaffs_getblockinfo.h \
-          yaffs_checkptrw.h yaffs_checkptrw.c \
-          yaffs_nameval.c yaffs_nameval.h \
-          yaffs_trace.h yaffs_attribs.h \
-          yaffs_allocator.c yaffs_allocator.h \
-          yaffs_yaffs1.c yaffs_yaffs1.h \
-          yaffs_yaffs2.c yaffs_yaffs2.h \
-          yaffs_bitmap.c yaffs_bitmap.h \
-          yaffs_verify.c yaffs_verify.h \
-          yaffs_summary.c yaffs_summary.h \
-         yaffsfs.c yaffs_flashif.h yaffs_flashif2.h\
-          yaffsfs.h yaffs_osglue.h ydirectenv.h \
-          yaffscfg.h yaffs_list.h \
-          yaffs_qsort.c yportenv.h yaffs_attribs.c \
-          yaffs_nandif.c yaffs_nandif.h yaffs_nandemul2k.h \
-          yaffs_hweight.h yaffs_hweight.c \
-
-
-
-DIRECTTESTOBJS = $(COMMONTESTOBJS) dtest.o
-
-BOOTTESTOBJS = bootldtst.o yboot.o yaffs_fileem.o nand_ecc.o
-
-ALLOBJS = $(sort $(DIRECTTESTOBJS) $(YAFFSTESTOBJS))
-
-TARGETS = directtest2k
-
-all: $(TARGETS)
-
-$(ALLOBJS): %.o: %.c
-       gcc -c $(CFLAGS) -o $@ $<
-
-
-$(YAFFSDIRECTSYMLINKS):
-       ln -s ../$@ $@
-
-
-directtest2k: $(YAFFSDIRECTSYMLINKS) $(DIRECTTESTOBJS)
-       gcc -o $@ $(DIRECTTESTOBJS)
-
-yaffs_test: $(YAFFSDIRECTSYMLINKS) $(YAFFSTESTOBJS)
-       gcc -o $@ $(YAFFSTESTOBJS)
-
-
-boottest: $(YAFFSDIRECTSYMLINKS) $(BOOTTESTOBJS)
-       gcc -o $@ $(BOOTTESTOBJS)
-
-
-clean:
-       rm -f $(TARGETS) $(ALLOBJS) core $(YAFFSDIRECTSYMLINKS)
diff --git a/direct/python/Makefile b/direct/python/Makefile
deleted file mode 100644 (file)
index 5822116..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# Makefile for YAFFS direct stress tests
-#
-#
-# YAFFS: Yet another Flash File System. A NAND-flash specific file system.
-#
-# Copyright (C) 2003-2010 Aleph One Ltd.
-#
-#
-# Created by Charles Manning <charles@aleph1.co.uk>
-#
-# 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.
-#
-
-#EXTRA_COMPILE_FLAGS = -DYAFFS_IGNORE_TAGS_ECC
-
-CFLAGS =      -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_YAFFS2  -DCONFIG_YAFFS_DEFINES_TYPES
-CFLAGS +=     -DCONFIG_YAFFS_PROVIDE_DEFS -DCONFIG_YAFFSFS_PROVIDE_VALUES -DNO_Y_INLINE
-CFLAGS +=    -Wall -g $(EXTRA_COMPILE_FLAGS) -Wstrict-aliasing 
-#CFLAGS +=    -fno-strict-aliasing
-CFLAGS +=    -O0 -fPIC
-#CFLAGS +=    -DVALGRIND_TEST
-
-#CFLAGS+=   -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations
-#CFLAGS+=   -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Winline
-
-
-COMMONTESTOBJS = yaffscfg2k.o yaffs_osglue.o yaffs_hweight.o\
-                yramsim.o yaffs_fileem2k.o\
-                yaffs_nandif.o yaffs_attribs.o \
-                yaffsfs.o  yaffs_ecc.o yaffs_guts.o \
-                yaffs_packedtags1.o yaffs_ramdisk.o yaffs_ramem2k.o \
-                yaffs_tagscompat.o yaffs_packedtags2.o yaffs_nand.o \
-                yaffs_checkptrw.o  yaffs_qsort.o\
-                yaffs_nameval.o \
-                yaffs_summary.o \
-                yaffs_allocator.o \
-                yaffs_norif1.o  ynorsim.o \
-                yaffs_bitmap.o \
-                yaffs_verify.o \
-                yaffs_yaffs1.o yaffs_yaffs2.o \
-                yaffs_error.o
-
-
-YAFFSLIBOBJS  = $(COMMONTESTOBJS) yaffs_python_helper.o
-
-
-
-          
-
-YAFFSDIRECTSYMLINKS =   \
-          yaffsfs.c yaffsfs.h yaffscfg.h yaffs_osglue.h  ydirectenv.h \
-          yaffs_flashif.h yaffs_flashif2.h yaffs_list.h \
-          yaffs_nandif.c yaffs_nandif.h yaffs_qsort.c yaffs_nandemul2k.h \
-          yportenv.h yaffs_attribs.c \
-          yaffs_hweight.c yaffs_hweight.h \
-          yaffs_error.c \
-          yaffs_ecc.c yaffs_ecc.h yaffs_guts.c yaffs_guts.h yaffs_tagscompat.c yaffs_tagscompat.h \
-          yaffs_packedtags1.c yaffs_packedtags1.h yaffs_packedtags2.c yaffs_packedtags2.h  \
-          yaffs_nand.c yaffs_nand.h yaffs_getblockinfo.h  \
-          yaffs_checkptrw.h yaffs_checkptrw.c \
-          yaffs_summary.c yaffs_summary.h \
-          yaffs_nameval.c yaffs_nameval.h yaffs_attribs.h \
-          yaffs_trace.h \
-          yaffs_allocator.c yaffs_allocator.h \
-          yaffs_yaffs1.c yaffs_yaffs1.h \
-          yaffs_yaffs2.c yaffs_yaffs2.h \
-          yaffs_bitmap.c yaffs_bitmap.h \
-          yaffs_verify.c yaffs_verify.h
-
-DIRECTEXTRASYMLINKS =   yaffscfg2k.c yaffs_fileem2k.c yaffs_fileem2k.h\
-                        yaffs_fileem.c yaffs_norif1.c yaffs_norif1.h \
-                        yaffs_ramdisk.c yaffs_ramdisk.h yaffs_ramem2k.c \
-                        yaffsnewcfg.c yramsim.c yramsim.h \
-                        ynorsim.h ynorsim.c yaffs_osglue.c
-                                                                        
-COPIED_SOURCES = $(YAFFSDIRECTSYMLINKS) $(DIRECTEXTRASYMLINKS)
-
-all:  libyaffsfs.so
-
-
-$(YAFFSLIBOBJS): %.o: %.c
-       gcc -c $(CFLAGS)   -o $@ $<
-
-
-$(YAFFSDIRECTSYMLINKS):
-       ln -s ../$@ $@
-
-$(DIRECTEXTRASYMLINKS):
-       ln -s ../basic-test/$@ $@
-
-
-libyaffsfs.so: $(COPIED_SOURCES) $(YAFFSLIBOBJS)
-       gcc -shared $(YAFFSLIBOBJS) -o $@
-
-
-clean:
-       rm -f  $(YAFFSLIBOBJS)  core $(COPIED_SOURCES)
-       rm -f libyaffsfs.so
-       rm -f *.pyc
similarity index 74%
rename from direct/tests/Makefile
rename to direct/test-framework/FrameworkRules.mk
index db1c222dff7a0a56a204f30c78cf6b4d812e31eb..da47e491de10b6243836307bdfe174769e1d9cf5 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile for YAFFS direct stress tests
+# Makefile rules for building in test framwork
 #
 #
 # YAFFS: Yet another Flash File System. A NAND-flash specific file system.
@@ -19,7 +19,7 @@
 
 CFLAGS =      -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_YAFFS2  -DCONFIG_YAFFS_DEFINES_TYPES
 CFLAGS +=     -DCONFIG_YAFFS_PROVIDE_DEFS -DCONFIG_YAFFSFS_PROVIDE_VALUES
-CFLAGS +=    -Wall -g $(EXTRA_COMPILE_FLAGS) -Wstrict-aliasing 
+CFLAGS +=    -Wall -g $(EXTRA_COMPILE_FLAGS) -Wstrict-aliasing
 #CFLAGS +=    -fno-strict-aliasing
 CFLAGS +=    -O0
 CFLAGS +=    -Wextra -Wpointer-arith
@@ -36,7 +36,7 @@ COMMONTESTOBJS = yaffscfg2k.o yaffs_osglue.o yaffs_hweight.o\
                 yaffs_packedtags2.o yaffs_nand.o \
                 yaffs_checkptrw.o  yaffs_qsort.o\
                 yaffs_nameval.o yaffs_attribs.o \
-                yaffs_norif1.o  ynorsim.o nor_stress.o yaffs_fsx.o \
+                yaffs_m18_drv.o  ynorsim.o \
                 yaffs_allocator.o \
                 yaffs_bitmap.o \
                 yaffs_yaffs1.o \
@@ -44,12 +44,9 @@ COMMONTESTOBJS = yaffscfg2k.o yaffs_osglue.o yaffs_hweight.o\
                 yaffs_verify.o \
                 yaffs_summary.o
 
-#               yaffs_checkptrwtest.o\
 
-YAFFSTESTOBJS  = $(COMMONTESTOBJS) yaffs_test.o
 
-
-ALLOBJS = $(sort $(YAFFSTESTOBJS))
+ALLOBJS = $(sort $(ALL_UNSORTED_OBJS))
 
 YAFFSDIRECTSYMLINKS =  \
           yaffsfs.c yaffs_flashif.h yaffs_flashif2.h\
@@ -76,31 +73,23 @@ YAFFSDIRECTSYMLINKS =  \
           yaffs_summary.c yaffs_summary.h
 
 
-DIRECTEXTRASYMLINKS =  yaffscfg2k.c yaffs_fileem2k.c yaffs_fileem2k.h\
-                       yaffs_fileem.c yaffs_norif1.c yaffs_norif1.h \
-                       yaffs_ramdisk.c yaffs_ramdisk.h yaffs_ramem2k.c \
-                       ynorsim.h ynorsim.c yaffs_osglue.c
-
-COPIED_SOURCES = $(YAFFSDIRECTSYMLINKS) $(DIRECTEXTRASYMLINKS)
+FRAMEWORKEXTRASYMLINKS = \
+               yaffscfg2k.c yaffs_fileem2k.c yaffs_fileem2k.h\
+               yaffs_fileem.c yaffs_m18_drv.c yaffs_m18_drv.h \
+               yaffs_ramdisk.c yaffs_ramdisk.h yaffs_ramem2k.c \
+               ynorsim.h ynorsim.c yaffs_osglue.c
 
-all: yaffs_test fuzzer
-
-$(ALLOBJS): %.o: %.c
-       gcc -c $(CFLAGS) -o $@ $<
+FRAMEWORK_SOURCES = $(YAFFSDIRECTSYMLINKS) $(FRAMEWORKEXTRASYMLINKS)
 
+clean:
+       rm -f $(TARGETS) $(ALLOBJS) core $(FRAMEWORK_SOURCES)
 
 $(YAFFSDIRECTSYMLINKS):
-       ln -s ../$@ $@
+       ln -s $(YDI_DIR)/$@ $@
 
-$(DIRECTEXTRASYMLINKS):
-       ln -s ../basic-test/$@ $@
 
+$(FRAMEWORKEXTRASYMLINKS):
+       ln -s $(YDI_FRAMEWORK_DIR)/$@ $@
 
-yaffs_test: $(COPIED_SOURCES) $(YAFFSTESTOBJS)
-       gcc $(CFLLAG) -o $@ $(YAFFSTESTOBJS)
-
-fuzzer: fuzzer.c
-       gcc $(CFLAGS) -o $@ $<
-
-clean:
-       rm -f yaffs_test fuzzer fuzzer.o $(ALLOBJS) core $(COPIED_SOURCES)
+$(ALLOBJS): %.o: %.c
+       gcc -c $(CFLAGS)   -o $@ $<
diff --git a/direct/test-framework/basic-tests/Makefile b/direct/test-framework/basic-tests/Makefile
new file mode 100644 (file)
index 0000000..c1f3391
--- /dev/null
@@ -0,0 +1,36 @@
+# Makefile for YAFFS direct test
+#
+#
+# YAFFS: Yet another Flash File System. A NAND-flash specific file system.
+#
+# Copyright (C) 2003-2010 Aleph One Ltd.
+#
+#
+# Created by Charles Manning <charles@aleph1.co.uk>
+#
+# 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 = ../
+
+TARGETS = directtest2k
+
+all: $(TARGETS)
+
+DIRECTTESTOBJS = $(COMMONTESTOBJS) dtest.o
+
+ALL_UNSORTED_OBJS += $(DIRECTTESTOBJS)
+
+include ../FrameworkRules.mk
+
+directtest2k: $(FRAMEWORK_SOURCES) $(DIRECTTESTOBJS)
+       gcc -o $@ $(DIRECTTESTOBJS)
+
diff --git a/direct/test-framework/python/Makefile b/direct/test-framework/python/Makefile
new file mode 100644 (file)
index 0000000..9deee5e
--- /dev/null
@@ -0,0 +1,72 @@
+# Makefile for YAFFS direct stress tests
+#
+#
+# YAFFS: Yet another Flash File System. A NAND-flash specific file system.
+#
+# Copyright (C) 2003-2010 Aleph One Ltd.
+#
+#
+# Created by Charles Manning <charles@aleph1.co.uk>
+#
+# 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.
+#
+
+
+
+
+          
+
+
+$(YAFFSLIBOBJS): %.o: %.c
+       gcc -c $(CFLAGS)   -o $@ $<
+
+
+$(YAFFSDIRECTSYMLINKS):
+       ln -s ../$@ $@
+
+$(DIRECTEXTRASYMLINKS):
+       ln -s ../basic-test/$@ $@
+
+
+# Makefile for stress tests and fuzzer
+#
+#
+# YAFFS: Yet another Flash File System. A NAND-flash specific file system.
+#
+# Copyright (C) 2003-2010 Aleph One Ltd.
+#
+#
+# Created by Charles Manning <charles@aleph1.co.uk>
+#
+# 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 = ../
+
+TARGETS = libyaffsfs.so
+
+
+all: $(TARGETS)
+
+
+YAFFSLIBOBJS  = $(COMMONTESTOBJS) yaffs_python_helper.o
+
+ALL_UNSORTED_OBJS += $(YAFFSLIBOBJS)
+
+include ../FrameworkRules.mk
+
+CFLAGS +=    -O0 -fPIC
+
+
+libyaffsfs.so: $(FRAMEWORK_SOURCES) $(YAFFSLIBOBJS)
+       gcc -shared $(YAFFSLIBOBJS) -o $@
+
diff --git a/direct/test-framework/tests/Makefile b/direct/test-framework/tests/Makefile
new file mode 100644 (file)
index 0000000..cbfe151
--- /dev/null
@@ -0,0 +1,37 @@
+# Makefile for stress tests and fuzzer
+#
+#
+# YAFFS: Yet another Flash File System. A NAND-flash specific file system.
+#
+# Copyright (C) 2003-2010 Aleph One Ltd.
+#
+#
+# Created by Charles Manning <charles@aleph1.co.uk>
+#
+# 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 = ../
+
+TARGETS = yaffs_test fuzzer
+
+all: $(TARGETS)
+
+YAFFS_TEST_OBJS = $(COMMONTESTOBJS) yaffs_test.o nor_stress.o yaffs_fsx.o
+FUZZER_OBJS = fuzzer.o
+
+ALL_UNSORTED_OBJS += $(YAFFS_TEST_OBJS) $(FUZZER_OBJS)
+
+include ../FrameworkRules.mk
+
+
+yaffs_test: $(FRAMEWORK_SOURCES) $(YAFFS_TEST_OBJS)
+       gcc $(CFLLAG) -o $@ $(YAFFS_TEST_OBJS)
+
+fuzzer: $(FUZZER_OBJS)
+       gcc $(CFLAGS) -o $@ $<
similarity index 99%
rename from direct/basic-test/yaffs_m18_drv.c
rename to direct/test-framework/yaffs_m18_drv.c
index c35cb78138226775b17a2190dd26bce516445bcb..0325968279ac0521e9d67c51a8c706e2eb8adf89 100644 (file)
@@ -362,4 +362,6 @@ struct yaffs_dev *yaffs_m18_install_drv(const char *name)
        dev->driver_context = (void *) 1;       // Used to identify the device in fstat.
 
        yaffs_add_device(dev);
+
+       return NULL;
 }
similarity index 95%
rename from direct/basic-test/yaffs_osglue.c
rename to direct/test-framework/yaffs_osglue.c
index 4c2e442033f8cc03be314a90295798f70148613f..40e405209fa1641e6472de0710c928aedfc7326f 100644 (file)
@@ -15,9 +15,6 @@
 #include "yaffscfg.h"
 #include "yaffs_guts.h"
 #include "yaffsfs.h"
-#include "yaffs_fileem2k.h"
-#include "yaffs_nandemul2k.h"
-#include "yaffs_norif1.h"
 #include "yaffs_trace.h"
 #include <assert.h>
 
similarity index 94%
rename from direct/basic-test/yaffscfg2k.c
rename to direct/test-framework/yaffscfg2k.c
index deafabd704b92f0bea94a20745a40018b0bf351f..b9a09a7784f1c2aa45b906d7fcb5361f756945b3 100644 (file)
@@ -49,10 +49,6 @@ unsigned yaffs_trace_mask =
 #include "yaffs_flashif2.h"
 #include "yaffs_m18_drv.h"
 
-struct yaffs_dev ram1Dev;
-struct yaffs_dev flashDev;
-struct yaffs_dev m18_1Dev;
-
 int yaffs_start_up(void)
 {
        static int start_up_called = 0;