Skip to content

Instantly share code, notes, and snippets.

@mcepl
Created September 15, 2014 13:22
Show Gist options
  • Save mcepl/3bc960502645097f412a to your computer and use it in GitHub Desktop.
Save mcepl/3bc960502645097f412a to your computer and use it in GitHub Desktop.
Fix unicode crash in behave
--- a/behave/model.py
+++ b/behave/model.py
@@ -1203,7 +1203,7 @@ class Step(BasicStatement, Replayable):
if capture:
# -- CAPTURE-ONLY: Non-nested step failures.
if runner.config.stdout_capture:
- output = runner.stdout_capture.getvalue()
+ output = runner.stdout_capture.getvalue().encode('utf_8')
if output:
error += '\nCaptured stdout:\n' + output
if runner.config.stderr_capture:
--- a/behave/formatter/pretty.py
+++ b/behave/formatter/pretty.py
@@ -157,7 +157,8 @@ class PrettyFormatter(Formatter):
location = self._match.location
self.print_step(result.status, arguments, location, True)
if result.error_message:
- self.stream.write(indent(result.error_message.strip(), u' '))
+ out = result.error_message.strip().decode('unicode-escape')
+ self.stream.write(indent(out, 6 * u' '))
self.stream.write('\n\n')
self.stream.flush()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment