summaryrefslogtreecommitdiff
path: root/click/testing.py
diff options
context:
space:
mode:
Diffstat (limited to 'click/testing.py')
-rw-r--r--click/testing.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/click/testing.py b/click/testing.py
index 09d37a7..ae36d10 100644
--- a/click/testing.py
+++ b/click/testing.py
@@ -197,6 +197,7 @@ class CliRunner(object):
return char
default_color = color
+
def should_strip_ansi(stream=None, color=None):
if color is None:
return not default_color
@@ -285,21 +286,24 @@ class CliRunner(object):
cli.main(args=args or (),
prog_name=self.get_default_prog_name(cli), **extra)
except SystemExit as e:
- if e.code != 0:
- exception = e
-
exc_info = sys.exc_info()
-
exit_code = e.code
+ if exit_code is None:
+ exit_code = 0
+
+ if exit_code != 0:
+ exception = e
+
if not isinstance(exit_code, int):
sys.stdout.write(str(exit_code))
sys.stdout.write('\n')
exit_code = 1
+
except Exception as e:
if not catch_exceptions:
raise
exception = e
- exit_code = -1
+ exit_code = 1
exc_info = sys.exc_info()
finally:
sys.stdout.flush()