graalpython
graalpython copied to clipboard
Using the maven plugin with the default VirtualFileSystem leads to pathlib.Path.exists not working
This can be observed when using pyfiglet with the maven plugin. The code of pyfiglet has this
path = importlib.resources.files('pyfiglet.fonts').joinpath(fn)
if path.exists():
...
path.exists() uses a stat call, and we raise (correctly) OSError for non-existing paths. But pathlib checks that the errno of that error is in a list of allowed errors, and otherwise just throws the exception upwards. The OSError raised from the VirtualFileSystem is errno 5: EIO, it should probably be errno 2: ENOENT.