In CLI tests set merge_stderr to False by default
Ignore stderr by default, unless merge_stderr=True. ignoring stderr by
default makes the output more deterministic since stderr can contain
random log output (especially in *-manage commands)
Change-Id: I849444b8416e75c0383132ff2f93bd6d92df60f1
diff --git a/cli/__init__.py b/cli/__init__.py
index e244811..5d986c0 100644
--- a/cli/__init__.py
+++ b/cli/__init__.py
@@ -61,7 +61,7 @@
'nova', action, flags, params, admin, fail_ok)
def nova_manage(self, action, flags='', params='', fail_ok=False,
- merge_stderr=True):
+ merge_stderr=False):
"""Executes nova-manage command for the given action."""
return self.cmd(
'nova-manage', action, flags, params, fail_ok, merge_stderr)
@@ -83,8 +83,7 @@
return self.cmd(cmd, action, flags, params, fail_ok)
def cmd(self, cmd, action, flags='', params='', fail_ok=False,
- merge_stderr=True):
- #TODO(jogo): make merge_stderr default to False.
+ merge_stderr=False):
"""Executes specified command for the given action."""
cmd = ' '.join([CONF.cli.cli_dir + cmd,
flags, action, params])
@@ -94,7 +93,8 @@
if merge_stderr:
result = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
else:
- result = subprocess.check_output(cmd)
+ devnull = open('/dev/null', 'w')
+ result = subprocess.check_output(cmd, stderr=devnull)
except subprocess.CalledProcessError, e:
LOG.error("command output:\n%s" % e.output)
raise