aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-06-30 10:31:05 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-06-30 10:31:05 -0700
commit6e3a916b14d0e101efc2e7880949c81fbfe144c0 (patch)
tree7de7c744e20bac71053d0fe6a0e9e0f5b3324dac /tools
parentd476e649c3fa794c88a4d30a58ac4bd33848fe92 (diff)
parent6ad00c3582044c9464f3064262af0609da2ad788 (diff)
Merge pull request #1336 from int3/csmith
Some tweaks to make CSmith easier to setup / debug.
Diffstat (limited to 'tools')
-rw-r--r--tools/shared.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/shared.py b/tools/shared.py
index da6d3e57..776001cd 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -1379,6 +1379,17 @@ def execute(cmd, *args, **kw):
logging.error('Invoking Process failed: <<< ' + cmd + ' >>>')
raise
+def check_execute(cmd, *args, **kw):
+ # TODO: use in more places. execute doesn't actually check that return values
+ # are nonzero
+ try:
+ kw['stderr'] = STDOUT
+ subprocess.check_output(cmd, *args, **kw)
+ logging.debug("Successfuly executed %s" % " ".join(cmd))
+ except subprocess.CalledProcessError as e:
+ logging.error("'%s' failed with output:\n%s" % (" ".join(e.cmd), e.output))
+ raise
+
def suffix(name):
parts = name.split('.')
if len(parts) > 1: