]> www.infradead.org Git - mtd-utils.git/commitdiff
stress-test.sh: add mtdram tests
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Fri, 3 Aug 2012 13:38:16 +0000 (16:38 +0300)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Fri, 3 Aug 2012 13:38:16 +0000 (16:38 +0300)
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
tests/ubi-tests/stress-test.sh

index 4e63dbe645711417d8ce47da9c92ccbf6d531651..aec5c1c8198aa906789951f592bfbc28e144c4b4 100755 (executable)
@@ -55,19 +55,26 @@ print_params()
        local page_size="$1"; shift
        local vid_offs="$1";  shift
        local fastmap="$1";   shift
-       local fm_str
-
-       if [ "$fastmap" = "0" ]; then
-               fm_str="disabled"
-       else
-               fm_str="enabled"
-       fi
 
        printf "%s" "$module: ${size}MiB, PEB size ${peb_size}KiB, "
        if [ "$module" = "nandsim" ]; then
                printf "%s" "page size ${page_size}KiB, VID offset $vid_offs, "
        fi
-       printf "%s\n" "fastmap $fm_str" 
+       printf "%s\n" "fastmap $fastmap" 
+}
+
+# Load mtdram with specified size and PEB size
+# Usage: load_mtdram <flash size> <PEB size>
+# 1. Flash size is specified in MiB 
+# 2. PEB size is specified in KiB
+load_mtdram()
+{
+       local size="$1";     shift
+       local peb_size="$1"; shift
+
+       size="$(($size * 1024))"
+       modprobe mtdram total_size="$size" erase_size="$peb_size" ||
+               echo "Error: cannot load $size MiB mtdram"
 }
 
 print_separator()
@@ -78,13 +85,12 @@ print_separator()
 # Run a test on nandsim or mtdram with certain geometry.
 # Usage: run_test <nandsim|mtdram> <flash size> <PEB size> \
 #                 <Page size> <VID hdr offs> <enable fastmap>
-#
 # 1. Simulator type (nandsim or mtdram)
 # 2. Flash size is specified in MiB 
 # 3. PEB size is specified in KiB
 # 4. Page size is specified in bytes (mtdram ingores this)
 # 5. VID header offset (mtdram ingores this)
-# 6. Whether fast-map should be enabled (pass 0 or 1)
+# 6. Whether fast-map should be enabled (pass "enabled" or "disabled")
 run_test()
 {
        local module="$1";
@@ -93,7 +99,7 @@ run_test()
        local page_size="$4";
        local vid_offs="$5"
        local fastmap="$6";  
-       local fm_supported fm_str fm_param mtdnum
+       local fm_supported fm_param mtdnum
 
        print_separator
 
@@ -104,11 +110,10 @@ run_test()
                fm_supported="no"
        fi
 
-       if [ "$fastmap" = "0" ]; then
-               fm_str="disabled"
+       if [ "$fastmap" = "enabled" ]; then
                fm_param=
        elif [ "$fm_supported" = "yes" ]; then
-               fm_str="enabled"
+               fastmap="disabled"
                fm_param="fm_auto"
        else
                echo "Fastmap is not supported, skip"
@@ -122,8 +127,15 @@ run_test()
                        echo "Cannot load nandsim, test skipped"
 
                mtdnum="$(find_mtd_device "$nandsim_patt")"
+       elif [ "$module" = "mtdram" ]; then
+               print_params "$@"
+
+               load_mtdram "$size" "$peb_size"
+
+               mtdnum="$(find_mtd_device "$mtdram_patt")"
        else
-               fatal "$module is not supported"
+               fatal "$module is not supported" ||
+                       echo "Cannot load nandsim, test skipped"
        fi
 
        modprobe ubi mtd="$mtdnum,$vid_offs" $fm_param
@@ -148,46 +160,51 @@ mtdram_patt="mtdram test device"
 
 rmmod ubi >/dev/null 2>&1 ||:
 
-for fm in 1 0; do
-       for vid_factor in 1 0; do
-               print_separator
-               print_separator
-               print_separator
-
-               pg_size="512"
-               vid_offs="$(($pg_size * $vid_factor))"
-
-               run_test "nandsim" "16"  "16" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "32"  "16" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "64"  "16" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "128" "16" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "256" "16" "$pg_size" "$vid_offs" "$fm"
-
-               pg_size="2048"
-               vid_offs="$(($pg_size * $vid_factor))"
-
-               run_test "nandsim" "64"   "64" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "128"  "64" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "256"  "64" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "512"  "64" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "1024" "64" "$pg_size" "$vid_offs" "$fm"
-
-               run_test "nandsim" "64"   "128" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "128"  "128" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "256"  "128" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "512"  "128" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "1024" "128" "$pg_size" "$vid_offs" "$fm"
-
-               run_test "nandsim" "64"   "256" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "128"  "256" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "256"  "256" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "512"  "256" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "1024" "256" "$pg_size" "$vid_offs" "$fm"
-
-               run_test "nandsim" "64"   "512" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "128"  "512" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "256"  "512" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "512"  "512" "$pg_size" "$vid_offs" "$fm"
-               run_test "nandsim" "1024" "512" "$pg_size" "$vid_offs" "$fm"
+for module in "mtdram" "nandsim"; do
+       for fm in "enabled" "disabled"; do
+               for vid_factor in 1 0; do
+                       print_separator
+                       print_separator
+                       print_separator
+                       echo "Test on $module, fastmap $fm, VID header offset factor $vid_factor"
+                       print_separator
+                       print_separator
+
+                       pg_size="512"
+                       vid_offs="$(($pg_size * $vid_factor))"
+
+                       run_test "$module" "16"  "16" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "32"  "16" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "64"  "16" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "128" "16" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "256" "16" "$pg_size" "$vid_offs" "$fm"
+
+                       pg_size="2048"
+                       vid_offs="$(($pg_size * $vid_factor))"
+
+                       run_test "$module" "64"   "64" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "128"  "64" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "256"  "64" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "512"  "64" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "1024" "64" "$pg_size" "$vid_offs" "$fm"
+
+                       run_test "$module" "64"   "128" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "128"  "128" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "256"  "128" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "512"  "128" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "1024" "128" "$pg_size" "$vid_offs" "$fm"
+
+                       run_test "$module" "64"   "256" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "128"  "256" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "256"  "256" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "512"  "256" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "1024" "256" "$pg_size" "$vid_offs" "$fm"
+
+                       run_test "$module" "64"   "512" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "128"  "512" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "256"  "512" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "512"  "512" "$pg_size" "$vid_offs" "$fm"
+                       run_test "$module" "1024" "512" "$pg_size" "$vid_offs" "$fm"
+               done
        done
 done