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: