From 38a4ec7342c27e675cc049d923e0075655fd91fd Mon Sep 17 00:00:00 2001 From: Paul Vinciguerra Date: Wed, 28 Nov 2018 11:34:21 -0800 Subject: make test: Add exception handling around subprocess. This cleans up exception catching to identify oserrors. By raising the specific exception closer to the offending call, we get additional stack history and can add clearer error logging to assist in troubleshooting. Change-Id: I592e4d46844b822a816485bf54910f8daed92088 Signed-off-by: Paul Vinciguerra --- test/test_vcl.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'test/test_vcl.py') diff --git a/test/test_vcl.py b/test/test_vcl.py index 09017127eba..0a971a59a78 100644 --- a/test/test_vcl.py +++ b/test/test_vcl.py @@ -276,9 +276,20 @@ class LDPCutThruTestCase(VCLTestCase): try: subprocess.check_output(['iperf3', '-v']) except subprocess.CalledProcessError: - self.logger.error("WARNING: 'iperf3' is not installed,") + self.logger.error( + "WARNING: Subprocess returned non-0 running 'iperf3 -v") + self.logger.error(" 'test_ldp_cut_thru_iperf3' not run!") + return + except OSError as e: + self.logger.error( + "WARNING: Subprocess returned with OS error (%s) %s\n" + " 'iperf3' is likely not installed,", + e.errno, e.strerror) self.logger.error(" 'test_ldp_cut_thru_iperf3' not run!") return + except Exception: + self.logger.exception( + "Subprocess returned non-0 running 'iperf3 -v") self.timeout = self.client_iperf3_timeout self.cut_thru_test("iperf3", self.server_iperf3_args, @@ -652,6 +663,14 @@ class LDPThruHostStackIperf(VCLTestCase): self.logger.error( " 'test_ldp_thru_host_stack_iperf3' not run!") return + except OSError as e: + self.logger.error("WARNING: 'iperf3' is not installed,") + self.logger.error(" 'test' not run!") + return + except Exception as e: + self.logger.error("WARNING: 'iperf3' unexpected error,") + self.logger.error(" 'test' not run!") + return self.timeout = self.client_iperf3_timeout self.thru_host_stack_test("iperf3", self.server_iperf3_args, -- cgit 1.2.3-korg