tests: add cli_return_response to vpp_papi_provider
To improve gcov/lcov code coverage stats, it's necessary to send incorrect debug CLI commands; to force vpp into debug CLI error paths. cli_return_response() sends commands and returns the response object, so test vectors can handle failures. Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4fab591c9d2e30c996f016e18e4fd69b9c5bed06 (cherry picked from commit 5932ce17e128c096fcc56eb04b27e780da3cf255)
This commit is contained in:

committed by
Andrew Yourtchenko

parent
c2b4b3b610
commit
64d744350e
@ -149,7 +149,12 @@ class TestMactime(VppTestCase):
|
||||
"show error"]
|
||||
|
||||
for cmd in cmds:
|
||||
self.logger.info(self.vapi.cli(cmd))
|
||||
r = self.vapi.cli_return_response(cmd)
|
||||
if r.retval != 0:
|
||||
if hasattr(r, 'reply'):
|
||||
self.logger.info(cmd + " FAIL reply " + r.reply)
|
||||
else:
|
||||
self.logger.info(cmd + " FAIL retval " + str(r.retval))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(testRunner=VppTestRunner)
|
||||
|
@ -338,6 +338,20 @@ class VppPapiProvider(object):
|
||||
self.hook.after_api(api_fn.__name__, api_args)
|
||||
return reply
|
||||
|
||||
def cli_return_response(self, cli):
|
||||
""" Execute a CLI, calling the before/after hooks appropriately.
|
||||
Return the reply without examining it
|
||||
|
||||
:param cli: CLI to execute
|
||||
:returns: response object
|
||||
|
||||
"""
|
||||
self.hook.before_cli(cli)
|
||||
cli += '\n'
|
||||
r = self.papi.cli_inband(cmd=cli)
|
||||
self.hook.after_cli(cli)
|
||||
return r
|
||||
|
||||
def cli(self, cli):
|
||||
""" Execute a CLI, calling the before/after hooks appropriately.
|
||||
|
||||
@ -345,10 +359,7 @@ class VppPapiProvider(object):
|
||||
:returns: CLI output
|
||||
|
||||
"""
|
||||
self.hook.before_cli(cli)
|
||||
cli += '\n'
|
||||
r = self.papi.cli_inband(cmd=cli)
|
||||
self.hook.after_cli(cli)
|
||||
r = self.cli_return_response(cli)
|
||||
if r.retval == -156:
|
||||
raise CliSyntaxError(r.reply)
|
||||
if r.retval != 0:
|
||||
|
Reference in New Issue
Block a user