diff options
| author | Ned Batchelder <ned@nedbatchelder.com> | 2018-03-31 06:45:27 -0400 |
|---|---|---|
| committer | Ned Batchelder <ned@nedbatchelder.com> | 2018-10-04 08:15:42 -0400 |
| commit | 6041686245bd777bb47f9752f1ef67f693664c0f (patch) | |
| tree | 3d5acab8c9fef23f52093afdd62bf76ad66e3393 | |
| parent | 018f4c498106151484dfa09d10f48289380ecd53 (diff) | |
| download | python-coveragepy-git-6041686245bd777bb47f9752f1ef67f693664c0f.tar.gz | |
Adapt to the 3.7.0b3 change in -m sys.path[0] behavior
(cherry picked from commit fec75c18a87e8acf8a0d4f978b2ef4e1cea755de)
| -rw-r--r-- | coverage/execfile.py | 10 |
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): |
