Whamcloud - gitweb
b=22455 fix the problem in get_param with option "-N"
[fs/lustre-release.git] / lustre / tests / test-framework.sh
index 2b97ab0..900f93f 100644 (file)
@@ -1,11 +1,11 @@
 #!/bin/bash
 # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4:
 
-trap 'print_summary && echo "test-framework exiting on error"' ERR
+trap 'print_summary && touch $TF_FAIL && \
+    echo "test-framework exiting on error"' ERR
 set -e
 #set -x
 
-
 export REFORMAT=${REFORMAT:-""}
 export WRITECONF=${WRITECONF:-""}
 export VERBOSE=false
@@ -248,6 +248,8 @@ load_module() {
     shift
     BASE=`basename $module $EXT`
 
+    module_loaded ${BASE} && return
+
     # If no module arguments were passed, get them from $MODOPTS_<MODULE>, else from
     # modprobe.conf
     if [ $# -eq 0 ]; then
@@ -275,8 +277,6 @@ load_module() {
 
     [ $# -gt 0 ] && echo "${module} options: '$*'"
 
-    module_loaded ${BASE} && return
-
     # Note that insmod will ignore anything in modprobe.conf, which is why we're
     # passing options on the command-line.
     if [ "$BASE" == "lnet_selftest" ] && \
@@ -301,12 +301,6 @@ load_modules_local() {
         echo "Using modprobe to load modules"
         return 0
     fi
-    if [ "$HAVE_MODULES" = true ]; then
-        # we already loaded
-        echo "Modules already loaded"
-        return 0
-    fi
-    HAVE_MODULES=true
 
     echo Loading modules from $LUSTRE
     load_module ../libcfs/libcfs/libcfs
@@ -392,8 +386,6 @@ unload_modules() {
         fi
     fi
 
-    HAVE_MODULES=false
-
     check_mem_leak || return 254
 
     echo "modules unloaded."
@@ -886,6 +878,13 @@ shutdown_facet() {
     fi
 }
 
+remount_facet() {
+    local facet=$1
+
+    stop $facet
+    mount_facet $facet
+}
+
 reboot_facet() {
     facet=$1
     if [ "$FAILURE_MODE" = HARD ]; then
@@ -1751,7 +1750,7 @@ switch_identity() {
         do_facet mds$num "lctl set_param -n mdt.$MDT.identity_upcall \"NONE\""
     fi
 
-    do_facet mds$num "lctl set_param -n mdt/$MDT/identity_flush \"-1\""
+    do_facet mds$num "lctl set_param -n mdt/$MDT/identity_flush=-1"
 
     if [ $old = "NONE" ]; then
         return 1
@@ -2043,6 +2042,7 @@ check_timeout () {
 
 is_mounted () {
     local mntpt=$1
+    [ -z $mntpt ] && return 1
     local mounted=$(mounted_lustre_filesystems)
 
     echo $mounted' ' | grep -w -q $mntpt' '
@@ -3929,6 +3929,10 @@ log_test() {
     yml_log_test $1 >> $YAML_LOG
 }
 
+log_test_status() {
+     yml_log_test_status $@ >> $YAML_LOG
+}
+
 log_sub_test_begin() {
     yml_log_sub_test_begin $@ >> $YAML_LOG
 }
@@ -3942,6 +3946,9 @@ run_llverdev()
         local dev=$1
         local devname=$(basename $1)
         local size=$(grep "$devname"$ /proc/partitions | awk '{print $3}')
+       # loop devices aren't in /proc/partitions
+       [ "x$size" == "x" ] && local size=$(ls -l $dev | awk '{print $5}')
+
         size=$(($size / 1024 / 1024)) # Gb
 
         local partial_arg=""