Eryk Sun <[email protected]> added the comment:
> Why catch ERROR_NOT_READY and ERROR_BAD_NET_NAME as well?
When os.stat() falls back on FindFirstFileW(), an error that means the file
doesn't exist should be kept. ERROR_BAD_NET_NAME is an obvious error to keep
because it's already mapped to ENOENT (i.e. file not found). This error
typically means that share was removed or the network went down.
ERROR_NOT_READY typically means that the media was removed from a volume (e.g.
ejected disk). pathlib.Path.exists() returns False for ERROR_NOT_READY.
> Why can't the filename of the "foo"-like file in the test be
> simply os_helper.TESTFN, as done in some other tests?
I suppose the current working directory will be fine. I was looking to keep the
test on a NTFS filesystem, with known behavior, but there's no hard guarantee
that the user's temp directory is on the system volume.
> I noticed some code snippets used in tests are wrapped in a
> seemingly-redundant `if 1: ...` statement. Why is that?
The `if 1` test is logically redundant but convenient for using a multiline
string that has an arbitrary indentation level. For example:
>>> exec('''
... print(42)
... ''')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 2
print(42)
IndentationError: unexpected indent
>>> exec('''if 1:
... print(42)
... ''')
42
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46785>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com