Index: recipe_engine/step_runner.py |
diff --git a/recipe_engine/step_runner.py b/recipe_engine/step_runner.py |
index 7f81fccb0fcec27446de16dea3fc824a644b6213..f9d2c592a2b055b3904f94db7abc365e1af4a763 100644 |
--- a/recipe_engine/step_runner.py |
+++ b/recipe_engine/step_runner.py |
@@ -284,7 +284,15 @@ class SubprocessStepRunner(StepRunner): |
""" |
def gen_step_prelude(): |
yield ' '.join(map(_shell_quote, step.config.cmd)) |
- yield 'in dir %s:' % (step.config.cwd or os.getcwd()) |
+ cwd = step.config.cwd |
+ if cwd is None: |
+ try: |
+ cwd = os.getcwd() |
+ except OSError as ex: |
+ cwd = '??? (ENGINE START_DIR IS MISSING: %r)' % (ex,) |
+ elif not os.path.isdir(cwd): |
+ cwd += ' (ENGINE START_DIR IS MISSING OR NOT A DIR)' |
+ yield 'in dir %s:' % (cwd,) |
for key, value in sorted(step.config._asdict().items()): |
if value is not None: |
yield ' %s: %s' % (key, self._render_step_value(value)) |