summaryrefslogtreecommitdiff
path: root/coverage/execfile.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2010-02-28 13:11:21 -0500
committerNed Batchelder <ned@nedbatchelder.com>2010-02-28 13:11:21 -0500
commit99d5e7491a3b73a44de306b9735c26e4d63c0f20 (patch)
treebb91eacce9be27ffb843231697ed230c5299a53c /coverage/execfile.py
parent6dda195647a19a94a88c299ef4521626ebd044e1 (diff)
downloadpython-coveragepy-99d5e7491a3b73a44de306b9735c26e4d63c0f20.tar.gz
If the user's code calls sys.exit(), honor the request and exit with that status. Fixes issue #50.
Diffstat (limited to 'coverage/execfile.py')
-rw-r--r--coverage/execfile.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/coverage/execfile.py b/coverage/execfile.py
index 1a2ffad..333163f 100644
--- a/coverage/execfile.py
+++ b/coverage/execfile.py
@@ -51,6 +51,10 @@ def run_python_file(filename, args):
# Execute the source file.
try:
exec_code_object(code, main_mod.__dict__)
+ except SystemExit:
+ # The user called sys.exit(). Just pass it along to the upper
+ # layers, where it will be handled.
+ raise
except:
# Something went wrong while executing the user code.
# Get the exc_info, and pack them into an exception that we can