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
This commit is contained in:

committed by
Dave Wallace

parent
a6b93eac59
commit
5932ce17e1
@ -149,7 +149,12 @@ class TestMactime(VppTestCase):
|
|||||||
"show error"]
|
"show error"]
|
||||||
|
|
||||||
for cmd in cmds:
|
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__':
|
if __name__ == '__main__':
|
||||||
unittest.main(testRunner=VppTestRunner)
|
unittest.main(testRunner=VppTestRunner)
|
||||||
|
@ -334,6 +334,20 @@ class VppPapiProvider(object):
|
|||||||
self.hook.after_api(api_fn.__name__, api_args)
|
self.hook.after_api(api_fn.__name__, api_args)
|
||||||
return reply
|
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):
|
def cli(self, cli):
|
||||||
""" Execute a CLI, calling the before/after hooks appropriately.
|
""" Execute a CLI, calling the before/after hooks appropriately.
|
||||||
|
|
||||||
@ -341,10 +355,7 @@ class VppPapiProvider(object):
|
|||||||
:returns: CLI output
|
:returns: CLI output
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self.hook.before_cli(cli)
|
r = self.cli_return_response(cli)
|
||||||
cli += '\n'
|
|
||||||
r = self.papi.cli_inband(cmd=cli)
|
|
||||||
self.hook.after_cli(cli)
|
|
||||||
if r.retval == -156:
|
if r.retval == -156:
|
||||||
raise CliSyntaxError(r.reply)
|
raise CliSyntaxError(r.reply)
|
||||||
if r.retval != 0:
|
if r.retval != 0:
|
||||||
|
Reference in New Issue
Block a user