-
Notifications
You must be signed in to change notification settings - Fork 283
Python 3.8 breaks network drive setups #365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Oh, this is a tricky error! Thanks for reporting it. Since this seems to be a fairly niche problem (and since I don't have a Windows computer) I'm afraid I won't spend time investigating it, but fixes would of course be welcome. I think it would be necessary to audit the path manipulation code and add more |
Spontaneously I don't think adding more realpath calls breaks in scenarios with a single tree. The relative path can change but regardless of following a symlink or not, there shouldn't be a deadend. At worst some kind of permission problem (difference between regular access and symlink), but shouldn't in such case the symlink not work in the first case? In any case, if I need to investigate this myself, I'm not willing to look into fixing this on 4.1, since this is an outdated branch. That means I need #364 to be solved first. I'll provide the requested feedback there. |
After some investigation I did find evidence that symlinks not necessarily have the same permissions as the files they are pointing to. Still, this is fixable on the main side by using a special option to trigger a different behavior. In other words, backwards compatibility can be preserved as default. |
Hi guys, |
I have some important finding regarding paths handling, that has not been mentioned yet. In Python 3.8 there is a breaking change in https://docs.python.org/3/library/os.path.html#os.path.realpath
I did check the difference across Python 3.7 & 3.8 on Windows. Python 3.7 does not resolve drive mapping (and symbolic links too), where as Python 3.8 does. |
This is fixed with #565. |
Note: Due to my issue as described in #364, I could not test it with 4.2, only with 4.1, as the relevant code paths aren't triggered, but AFAICT the issue still remains in the current release.
My project uses a setup where on Windows a directory on the C: drive is mapped to the X: (see https://support.microsoft.com/en-us/help/4026635/windows-map-a-network-drive how to do that). gcovr works with Python 3.6 without problems. But when trying to update to Python 3.8 only (and no other relevant changes), running gcovr results in an exception:
This can be fixed by changing
to
But then I get another exception later:
I couldn't figure out how to solve this, so I don't know if there any other issues hidden.
The text was updated successfully, but these errors were encountered: