From 3d64d331b2d2cc5275b689821b90787f65a264e5 Mon Sep 17 00:00:00 2001 From: Georg Pfuetzenreuter Date: Sat, 17 Jun 2023 14:50:39 +0200 Subject: [PATCH] Allow for non-zero Salt return codes Add a "expect_rc" argument, allowing a list of non-zero return codes to be passed. Signed-off-by: Georg Pfuetzenreuter --- testinfra/modules/salt.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/testinfra/modules/salt.py b/testinfra/modules/salt.py index 4b2d8d2b..48b29a7c 100644 --- a/testinfra/modules/salt.py +++ b/testinfra/modules/salt.py @@ -29,7 +29,7 @@ class Salt(InstanceModule): Run ``salt-call sys.doc`` to get a complete list of functions """ - def __call__(self, function, args=None, local=False, config=None): + def __call__(self, function, args=None, local=False, config=None, expect_rc=None): args = args or [] if isinstance(args, str): args = [args] @@ -44,6 +44,8 @@ def __call__(self, function, args=None, local=False, config=None): cmd_args.append(config) cmd += " %s" + len(args) * " %s" cmd_args += [function] + args + if expect_rc is not None: + return json.loads(self.run_expect(expect_rc, cmd, *cmd_args).stdout) return json.loads(self.check_output(cmd, *cmd_args))["local"] def __repr__(self):