Merge branch 'master' of github.com:OPENNETWORKINGLAB/ONOS
diff --git a/cluster-mgmt/bin/test-link-failure.sh b/cluster-mgmt/bin/test-link-failure.sh
index c513618..6c5f128 100755
--- a/cluster-mgmt/bin/test-link-failure.sh
+++ b/cluster-mgmt/bin/test-link-failure.sh
@@ -1,7 +1,17 @@
 #! /bin/sh
 basename=$ONOS_CLUSTER_BASENAME
+wait=10
 
 fdef="flowdef_8node_42.txt"
+
+function log()
+{
+    date > error.$1.$2.log
+    check_status.py >> error.$1.$2.log
+    dsh -w ${basename}1 "cd ONOS/web; ./get_flow.py all" >> error.$1.$2.log
+    dsh "cd ONOS/scripts; ./showflow.sh"             >> error.$1.$2.log
+}
+
 echo "all links up"
 dsh -w ${basename}1 "cd ONOS/scripts; ./all-linkup.sh"
 echo "clean up flow"
@@ -11,27 +21,35 @@
 dsh -w ${basename}1 "cd ONOS/web; ./get_flow.py all"
 dsh "cd ONOS/scripts; ./delflow.sh"
 echo "checkup status"
-./check_status.py
+check_status.py
 read -p "hit anykey> "
 
 echo "install pre-set flows"
 dsh -w ${basename}1 "cd ONOS/web; ./add_flow.py -m onos -f $fdef"
-sleep 3
+sleep 6
 echo "check"
 dsh -w ${basename}1 "cd ONOS/web; ./pingall.py $fdef"
 
-ports=`dsh -w ${basename}1 "cd ONOS/scripts; ./listports.sh" | awk '{print $2}' |grep -v tap`
+#ports=`dsh -w ${basename}1 "cd ONOS/scripts; ./listports.sh" | awk '{print $2}' |grep -v tap`
+operation=("sw3-eth3 down" "sw4-eth4 down" "sw4-eth3 down" "sw3-eth3 up" "sw1-eth2 down" "sw4-eth4 up" "sw4-eth3 up" "sw1-eth2 up")
 
-for p in $ports; do
-  echo "port $p down"
-  read -p "hit anykey> "
-  dsh -w ${basename}1 "sudo ifconfig $p down"
-  echo "wait 3 sec"
-  sleep 3
-  dsh -w ${basename}1 "cd ONOS/web; ./pingall.py $fdef"
-  echo "port $p up"
-  dsh -w ${basename}1 "sudo ifconfig $p up"
-  echo "wait 3 sec"
-  sleep 3
-  dsh -w ${basename}1 "cd ONOS/web; ./pingall.py $fdef"
+((n=0))
+while [ 1 ] ; do
+  for (( i = 0; i< ${#operation[@]}; i ++)); do
+    echo "Test $n-$i"
+    p=`echo ${operation[$i]}`
+    echo "operation: $p"
+#  read -p "hit anykey> "
+    dsh -w ${basename}1 "sudo ifconfig $p"
+    echo "wait $wait sec"
+    sleep $wait 
+    result=`dsh -w ${basename}1 "cd ONOS/web; ./pingall.py $fdef"`
+    echo $result
+    nr_fail=`echo $result |grep fail | wc -l`
+    if [ $nr_fail -gt 0 ]; then
+      log $n $i
+    fi
+  done
+  ((n++))
 done
+