Added functionality for dropping links in routing tests.

Change-Id: I0c4fd3b41323fd849e47b52bfb00db7488a32492
diff --git a/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py b/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py
index eb747b0..4b58d10 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py
@@ -32,7 +32,7 @@
     @staticmethod
     def runTest( main, test_idx, onosNodes, dhcp, routers, ipv4, ipv6,
                  description, countFlowsGroups=False, checkExternalHost=False,
-                 staticRouteConfigure=False, switchFailure=False ):
+                 staticRouteConfigure=False, switchFailure=False, linkFailure=False ):
 
         skipPackage = False
         init = False
@@ -75,6 +75,8 @@
             run.loadCount( main )
         if switchFailure:
             run.loadSwitchFailureChart( main )
+        if linkFailure:
+            run.loadLinkFailureChart( main )
 
         # wait some time
         time.sleep( 5 )
@@ -113,6 +115,22 @@
                 if countFlowsGroups:
                     run.checkFlowsGroupsFromFile(main)
 
+        # Test link failures
+        if linkFailure:
+            for link_batch_name, info in main.linkFailureChart.items():
+
+                linksToRemove = info['links'].values()
+                linksBefore = info['links_before']
+                linksAfter = info['links_after']
+
+                run.killLinkBatch( main, linksToRemove, linksAfter )
+                run.pingAll( main, 'CASE%02d' % test_idx, acceptableFailed=5, basedOnIp=True )
+
+                run.restoreLinkBatch( main, linksToRemove, linksBefore )
+                run.pingAll( main, 'CASE%02d' % test_idx, acceptableFailed=5, basedOnIp=True )
+                if countFlowsGroups:
+                    run.checkFlowsGroupsFromFile(main)
+
         if hasattr( main, 'Mininet1' ):
             run.cleanup( main )
         else: