From 74ebcf6dfc84b6aab6838fa99e12808eb6b913d9 Mon Sep 17 00:00:00 2001 From: Gary Lockyer Date: Wed, 16 Aug 2017 13:52:25 +1200 Subject: [PATCH] blackbox tests: method to check specific exit codes Signed-off-by: Gary Lockyer Reviewed-by: Douglas Bagnall Reviewed-by: Garming Sam --- python/samba/tests/__init__.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/python/samba/tests/__init__.py b/python/samba/tests/__init__.py index 2ddfd9d2273..d012113cda6 100644 --- a/python/samba/tests/__init__.py +++ b/python/samba/tests/__init__.py @@ -318,11 +318,20 @@ class BlackboxTestCase(TestCaseInTempDir): return line def check_run(self, line): + self.check_exit_code(line, 0) + + def check_exit_code(self, line, expected): line = self._make_cmdline(line) - p = subprocess.Popen(line, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) + p = subprocess.Popen(line, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + shell=True) retcode = p.wait() - if retcode: - raise BlackboxProcessError(retcode, line, p.stdout.read(), p.stderr.read()) + if retcode != expected: + raise BlackboxProcessError(retcode, + line, + p.stdout.read(), + p.stderr.read()) def check_output(self, line): line = self._make_cmdline(line)