summaryrefslogtreecommitdiff
path: root/coverage/execfile.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2018-03-31 06:45:27 -0400
committerNed Batchelder <ned@nedbatchelder.com>2018-03-31 06:45:27 -0400
commitfec75c18a87e8acf8a0d4f978b2ef4e1cea755de (patch)
tree8fca956984325029f366b9ba1fc4db73a952b5e9 /coverage/execfile.py
parent18bf9c08f85f0b260eb9091b23bed731fc5965b9 (diff)
downloadpython-coveragepy-git-fec75c18a87e8acf8a0d4f978b2ef4e1cea755de.tar.gz
Adapt to the 3.7.0b3 change in -m sys.path[0] behavior
Diffstat (limited to 'coverage/execfile.py')
-rw-r--r--coverage/execfile.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/coverage/execfile.py b/coverage/execfile.py
index 42e0d96a..a72cb71d 100644
--- a/coverage/execfile.py
+++ b/coverage/execfile.py
@@ -111,7 +111,15 @@ def run_python_module(modulename, args):
pathname = os.path.abspath(pathname)
args[0] = pathname
- run_python_file(pathname, args, package=packagename, modulename=modulename, path0="")
+ # Python 3.7.0b3 changed the behavior of the sys.path[0] entry for -m. It
+ # used to be an empty string (meaning the current directory). It changed
+ # to be the actual path to the current directory, so that os.chdir wouldn't
+ # affect the outcome.
+ if sys.version_info >= (3, 7, 0, 'beta', 3):
+ path0 = os.getcwd()
+ else:
+ path0 = ""
+ run_python_file(pathname, args, package=packagename, modulename=modulename, path0=path0)
def run_python_file(filename, args, package=None, modulename=None, path0=None):