summaryrefslogtreecommitdiff
path: root/v-i
diff options
context:
space:
mode:
Diffstat (limited to 'v-i')
-rwxr-xr-xv-i17
1 files changed, 14 insertions, 3 deletions
diff --git a/v-i b/v-i
index e25a3dc..9f34eea 100755
--- a/v-i
+++ b/v-i
@@ -33,14 +33,25 @@ def error(msg):
def run(argv, **kwargs):
- log(f"RUN: {argv} {kwargs}")
+ log(f"RUN: {argv[0]}")
+ for arg in argv:
+ log(f"RUN: - {arg!r}")
+ for key in kwargs:
+ log(f"RUN: - {key}={kwargs[key]!r}")
check = False
- if "check" in kwargs:
+ if kwargs.get("check"):
check = True
del kwargs["check"]
+ if "capture_output" not in kwargs:
+ kwargs["capture_output"] = True
p = subprocess.run(argv, **kwargs)
if check and p.returncode != 0:
- error(f"Ran command that failed: {argv}\n{p.stderr.decode()}")
+ stdout = indent(p.stdout.decode())
+ stderr = indent(p.stderr.decode())
+ error(f"Ran command that failed: {argv}")
+ error(f"Exit code {p.returncode}")
+ error(f"Stdout:\n{stdout}")
+ error(f"Stderr:\n{stderr}")
sys.exit("command failed")
return p