Merge pull request #10143 from donaldsharp/lib_kernel_routes

test: Fix addKernelRoute looking for positive results
This commit is contained in:
Russ White 2021-11-30 09:52:11 -05:00 committed by GitHub
commit be8a6654b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -26,6 +26,7 @@ import socket
import subprocess import subprocess
import sys import sys
import traceback import traceback
import functools
from collections import OrderedDict from collections import OrderedDict
from copy import deepcopy from copy import deepcopy
from datetime import datetime, timedelta from datetime import datetime, timedelta
@ -2970,24 +2971,34 @@ def addKernelRoute(
logger.info("[DUT: {}]: Running command: [{}]".format(router, cmd)) logger.info("[DUT: {}]: Running command: [{}]".format(router, cmd))
output = rnode.run(cmd) output = rnode.run(cmd)
# Verifying if ip route added to kernal def check_in_kernel(rnode, verify_cmd, grp_addr, router):
result = rnode.run(verify_cmd) # Verifying if ip route added to kernal
logger.debug("{}\n{}".format(verify_cmd, result)) errormsg = None
if "/" in grp_addr: result = rnode.run(verify_cmd)
ip, mask = grp_addr.split("/") logger.debug("{}\n{}".format(verify_cmd, result))
if mask == "32" or mask == "128": if "/" in grp_addr:
grp_addr = ip ip, mask = grp_addr.split("/")
else: if mask == "32" or mask == "128":
mask = "32" if addr_type == "ipv4" else "128" grp_addr = ip
else:
mask = "32" if addr_type == "ipv4" else "128"
if not re_search(r"{}".format(grp_addr), result) and mask != "0": if not re_search(r"{}".format(grp_addr), result) and mask != "0":
errormsg = ( errormsg = (
"[DUT: {}]: Kernal route is not added for group" "[DUT: {}]: Kernal route is not added for group"
" address {} Config output: {}".format(router, grp_addr, output) " address {} Config output: {}".format(
) router, grp_addr, output
)
)
return errormsg return errormsg
test_func = functools.partial(
check_in_kernel, rnode, verify_cmd, grp_addr, router
)
(result, out) = topotest.run_and_expect(test_func, None, count=20, wait=1)
assert result, out
logger.debug("Exiting lib API: addKernelRoute()") logger.debug("Exiting lib API: addKernelRoute()")
return True return True