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
commit3e012725e07941841bb4213fa9bb8b56abd01f18 (patch)
tree3fc739794ec1d1063deedf6b6c09d4f2e1889fbc /coverage/execfile.py
parente7ccc57e7346011bb4f5911d4268ebd3e4393cfc (diff)
downloadpython-coveragepy-git-3e012725e07941841bb4213fa9bb8b56abd01f18.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 1a2ffadd..333163f8 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