# @name Nand mtdtests 
# @desc Performance mtdtest suite including oobtest, pagetest, readtest, speedtest, stresstest, subpagetest and nandecctest. 
# @requires nand
# @setup_requires nand
NAND_M_MODULAR_MTD_OOBTEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_oobtest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_oobtest" dev="$part" bitflip_limit=1 ; dmesg; dmesg | grep -E "finished\s*with\s*0\s*errors" && (rmmod.sh "mtd_oobtest";exit 0) || (rmmod.sh "mtd_oobtest";exit 1)

NAND_M_MODULAR_MTD_PAGETEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_pagetest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_pagetest" dev="$part"; dmesg; dmesg | grep -E "finished\s*with\s*0\s*errors" && (rmmod.sh "mtd_pagetest";exit 0) || (rmmod.sh "mtd_pagetest";exit 1) 

NAND_M_MODULAR_MTD_READTEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_readtest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_readtest" dev="$part"; dmesg; dmesg | grep -E "mtd_readtest:\s*finished" && (rmmod.sh "mtd_readtest";exit 0) || (rmmod.sh "mtd_readtest";exit 1)

NAND_M_MODULAR_MTD_SPEEDTEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_speedtest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_speedtest" dev="$part"; dmesg; dmesg | grep -E "mtd_speedtest:\s*finished" && (rmmod.sh "mtd_speedtest";exit 0) || (rmmod.sh "mtd_speedtest";exit 1)

NAND_M_MODULAR_MTD_STRESSTEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_stresstest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_stresstest" dev="$part"; dmesg; dmesg | grep -E "mtd_stresstest:\s*finished" && (rmmod.sh "mtd_stresstest";exit 0) || (rmmod.sh "mtd_stresstest";exit 1)

NAND_M_MODULAR_MTD_SUBPAGETEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_subpagetest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_subpagetest" dev="$part"; dmesg; dmesg | grep -E "finished\s*with\s*0\s*errors" && (rmmod.sh "mtd_subpagetest";exit 0) || (rmmod.sh "mtd_subpagetest";exit 1) 

NAND_M_MODULAR_MTD_NANDECCTEST source "mtd_common.sh"; install_modules.sh "nand"; rmmod.sh "mtd_nandecctest"; part=`get_mtd_partition_number.sh "nand"`; do_cmd printout_mtdinfo /dev/mtd$part; do_cmd flash_eraseall -q /dev/mtd$part; do_cmd sleep 1; dmesg -c > /dev/null; do_cmd insmod.sh "mtd_nandecctest"; dmesg; dmesg | grep -E "not\s*ok" && (rmmod.sh "mtd_subpagetest";exit 1) || (rmmod.sh "mtd_subpagetest";exit 0) 





