From 64d744350ea3890d202a9bd8ac67e5d20fd2d4a5 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 9 Oct 2019 17:28:04 -0400 Subject: 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 Change-Id: I4fab591c9d2e30c996f016e18e4fd69b9c5bed06 (cherry picked from commit 5932ce17e128c096fcc56eb04b27e780da3cf255) --- src/plugins/mactime/test/test_mactime.py | 7 ++++++- test/vpp_papi_provider.py | 15 +++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/plugins/mactime/test/test_mactime.py b/src/plugins/mactime/test/test_mactime.py index ab3d5371815..892ae02cf22 100644 --- a/src/plugins/mactime/test/test_mactime.py +++ b/src/plugins/mactime/test/test_mactime.py @@ -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) diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index a3da1ae3db4..7c634d912d0 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -338,17 +338,28 @@ class VppPapiProvider(object): self.hook.after_api(api_fn.__name__, api_args) return reply - def cli(self, cli): + 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: CLI output + :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. + + :param cli: CLI to execute + :returns: CLI output + + """ + r = self.cli_return_response(cli) if r.retval == -156: raise CliSyntaxError(r.reply) if r.retval != 0: -- cgit