interest-loop-scenario: Add test cast for Interest loop scenario.

Change-Id: Ic83735a24488614236eb6fbb7c7c79260434e457
Refs: #1409
diff --git a/test_interest_loop/interest-loop-test.sh b/test_interest_loop/interest-loop-test.sh
new file mode 100755
index 0000000..0cc616e
--- /dev/null
+++ b/test_interest_loop/interest-loop-test.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+source ../multi-host.conf
+a_ipaddr=$IP4_A1
+b_ipaddr=$IP4_B1
+c_ipaddr=$IP4_C1
+strategy=$1
+echo "host A IP address $a_ipaddr"
+echo "host B IP address $b_ipaddr"
+echo "host C IP address $c_ipaddr"
+echo "Strategy: $strategy"
+mkdir -p logs
+workdir=$(pwd)
+
+clean_up() {
+    echo "cleaning up..."
+    r=$(sudo killall nfd 2>&1)
+    r=$(ssh $b_ipaddr "sudo killall nfd 2>&1" 2>&1)
+    r=$(ssh $c_ipaddr "sudo killall nfd 2>&1" 2>&1)
+}
+
+# get keys
+echo "getting keys..."
+cp -r /usr/local/etc/ndn/keys $workdir/
+ssh $CTRL_B "cp -r /usr/local/etc/ndn/keys $workdir/"
+ssh $CTRL_C "cp -r /usr/local/etc/ndn/keys $workdir/"
+
+# start NFD on three nodes and set nexthop to create loop
+echo "start NFD on three nodes and set nexthop to create loop..."
+ssh $CTRL_B "mkdir -p $workdir/logs;\
+    sudo nfd --config $workdir/nfd.conf > $workdir/logs/nfd.log 2>&1 &"
+ssh $CTRL_C "mkdir -p $workdir/logs;\
+    sudo nfd --config $workdir/nfd.conf > $workdir/logs/nfd.log 2>&1 &"
+sudo nfd --config $workdir/nfd.conf > $workdir/logs/nfd.log 2>&1 &
+sleep 5
+ssh $CTRL_B "$workdir/add-nexthop.sh $c_ipaddr $strategy"
+ssh $CTRL_C "$workdir/add-nexthop.sh $a_ipaddr $strategy"
+$workdir/add-nexthop.sh $b_ipaddr $strategy
+
+# use ndn-traffic client to send 100 interests
+echo "using ndn-traffic client to send 100 interests..."
+ndn-traffic -c 100 -i 200 NDNTrafficClient.conf > $workdir/logs/client.log 2>&1
+
+# collect nfd-status from B and C
+echo "collecting nfd-status from B and C..."
+ssh $CTRL_B "nfd-status -f > $workdir/logs/nfd-status-B.log 2>&1"
+scp $CTRL_B:$workdir/logs/nfd-status-B.log  $workdir/logs/nfd-status-B.log
+ssh $CTRL_C "nfd-status -f > $workdir/logs/nfd-status-C.log 2>&1"
+scp $CTRL_C:$workdir/logs/nfd-status-C.log  $workdir/logs/nfd-status-C.log
+nfd-status -f > $workdir/logs/nfd-status-A.log 2>&1
+
+# analyze results
+echo "analyzing results..."
+for host in {A..C}
+do
+    echo "Host $host:"
+    cat $workdir/logs/nfd-status-$host.log | grep udp4 | while read line
+    do
+        ini=$(echo "$line" | grep -Po "in={.*?i" | sed 's/in={//g' | sed 's/i//g')
+        outi=$(echo "$line" | grep -Po "out={.*?i" | sed 's/out={//g' | sed 's/i//g')
+        echo "        $ini in, $outi out"
+        if [[ $ini -gt 200 ]]
+        then
+            echo "FAIL: counter for incoming interest on host $host is greater than 200"
+            echo "$line"
+            clean_up
+            exit 1
+        fi
+        if [[ $outi -gt 200 ]]
+        then
+            echo "FAIL: counter for outgoing interest on host $host is greater than 200"
+            echo "$line"
+            clean_up
+            exit 2
+        fi
+    done
+done
+
+# clean up
+clean_up
+echo "Interest Loop Test PASSED"