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.
This can be observed when using
pyfiglet
with the maven plugin. The code of pyfiglet has thispath.exists()
uses astat
call, and we raise (correctly)OSError
for non-existing paths. But pathlib checks that theerrno
of that error is in a list of allowed errors, and otherwise just throws the exception upwards. TheOSError
raised from the VirtualFileSystem iserrno 5: EIO
, it should probably beerrno 2: ENOENT
.