Add error handling when sendline() returns None
Change-Id: Ic406b3873ca028df5c1b91fc5b72fafb9668c58f
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index 91a2509..b9d90ef 100755
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -674,6 +674,7 @@
try:
cmdStr = "topology -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
main.log.info( cmdStr + " returned: " + str( handle ) )
return handle
@@ -702,6 +703,7 @@
try:
cmdStr = "device-remove " + str( deviceId )
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in removing device" )
@@ -736,6 +738,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -763,6 +766,7 @@
try:
cmdStr = "onos:balance-masters"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in balancing masters" )
@@ -872,6 +876,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr, timeout=timeout )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -901,6 +906,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -930,6 +936,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -1021,6 +1028,7 @@
try:
cmdStr = "onos:paths " + str( srcId ) + " " + str( dstId )
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in getting paths" )
@@ -1185,6 +1193,7 @@
cmdStr += "--encapsulation " + str( encap ) + " "
cmdStr += str( hostIdOne ) + " " + str( hostIdTwo )
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in adding Host intent" )
@@ -1233,6 +1242,7 @@
cmdStr = "add-optical-intent " + str( ingressDevice ) +\
" " + str( egressDevice )
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
# If error, return error message
if re.search( "Error", handle ):
@@ -1370,6 +1380,7 @@
str( portEgress )
handle = self.sendline( cmd )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
# If error, return error message
if re.search( "Error", handle ):
@@ -1532,6 +1543,7 @@
str( egressDevice ) + "/" +\
str( portEgress )
handle = self.sendline( cmd )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
# If error, return error message
if re.search( "Error", handle ):
@@ -1692,6 +1704,7 @@
"have the same length" )
return main.FALSE
handle = self.sendline( cmd )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
# If error, return error message
if re.search( "Error", handle ):
@@ -1823,6 +1836,7 @@
str( egressPort )
handle = self.sendline( cmd )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
# If error, return error message
if re.search( "Error", handle ):
@@ -1876,6 +1890,7 @@
cmdStr += " " + app + " " + str( intentId )
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in removing intent" )
@@ -1919,6 +1934,7 @@
cmdStr += " " + app
handle = self.sendline( cmdStr, timeout=timeout )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in removing intent" )
@@ -1948,6 +1964,7 @@
try:
cmdStr = "purge-intents"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
main.log.error( "Error in purging intents" )
@@ -1984,6 +2001,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -2012,6 +2030,7 @@
try:
cmdStr = "routes -s -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
jsonResult = json.loads( handle )
return jsonResult['totalRoutes4']
@@ -2048,6 +2067,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
args = utilities.parse_args( [ "TYPE" ], **intentargs )
if "TYPE" in args.keys():
@@ -2327,6 +2347,7 @@
cmdStr += " -n "
cmdStr += state
handle = self.sendline( cmdStr, timeout=timeout, noExit=noExit )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error:", handle ):
main.log.error( self.name + ": flows() response: " +
@@ -2453,11 +2474,9 @@
offset,
back )
response = self.sendline( cmd, timeout=timeout, noExit=noExit )
+ assert response is not None, "Error in sendline"
assert "Command not found:" not in response, response
main.log.info( response )
- if response == None:
- return None
-
if getResponse:
return response
@@ -2572,6 +2591,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -2601,6 +2621,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if handle:
return handle
@@ -2679,6 +2700,7 @@
cmdStr = "flows any " + str( deviceId ) + " | " +\
"grep 'state=ADDED' | wc -l"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -2920,6 +2942,7 @@
str( onosNode ) + " " +\
str( role )
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
if re.search( "Error", handle ):
# end color output to escape any colours
@@ -2959,6 +2982,7 @@
if jsonFormat:
cmdStr += " -j"
handle = self.sendline( cmdStr )
+ assert handle is not None, "Error in sendline"
assert "Command not found:" not in handle, handle
return handle
except AssertionError:
@@ -2988,6 +3012,7 @@
try:
cmdStr = "election-test-leader"
response = self.sendline( cmdStr )
+ assert response is not None, "Error in sendline"
assert "Command not found:" not in response, response
# Leader
leaderPattern = "The\scurrent\sleader\sfor\sthe\sElection\s" +\
@@ -3037,6 +3062,7 @@
try:
cmdStr = "election-test-run"
response = self.sendline( cmdStr )
+ assert response is not None, "Error in sendline"
assert "Command not found:" not in response, response
# success
successPattern = "Entering\sleadership\selections\sfor\sthe\s" +\
@@ -3078,6 +3104,7 @@
try:
cmdStr = "election-test-withdraw"
response = self.sendline( cmdStr )
+ assert response is not None, "Error in sendline"
assert "Command not found:" not in response, response
# success
successPattern = "Withdrawing\sfrom\sleadership\selections\sfor" +\
@@ -3501,6 +3528,8 @@
return main.FALSE
cmdStr = "onos:app " + option + " " + appName
output = self.sendline( cmdStr )
+ assert output is not None, "Error in sendline"
+ assert "Command not found:" not in output, output
if "Error executing command" in output:
main.log.error( "Error in processing onos:app command: " +
str( output ) )
@@ -3520,6 +3549,9 @@
# else: Command was successful
# main.log.debug( "app response: " + repr( output ) )
return main.TRUE
+ except AssertionError:
+ main.log.exception( self.name + ": AssertionError exception found" )
+ return main.ERROR
except TypeError:
main.log.exception( self.name + ": Object not as expected" )
return main.ERROR
@@ -4984,6 +5016,8 @@
cmd = "intent-perf -s"
respDic = {}
resp = self.sendline( cmd )
+ assert resp is not None, "Error in sendline"
+ assert "Command not found:" not in resp, resp
try:
# Generate the dictionary to return
for l in resp.split( "\n" ):