On Wed Dec 11 18:35:45 2024 +0000, Eugene McArdle wrote:
@epo are there any outstanding changes you'd like to this code? I'm happy to squash the last couple of commits together so we only have one for the behaviour changes and one for the tests, just let me know :thumbsup:
a couple of comments: - we tend to have the tests first (and in your case a single commit would do, so please squash the 3 commits into one), marking the failing test with todo_wine - then the fix in a second patch (removing the todo_wine for the tests that now succeed)
I'm still not convinced we grasp the whole situation: - basically, your current tests show that in some cases the current scan is aborted, and its mask (and position) are changed - all the failures end up with NO_MORE_FILES, which I can't tell if this mirrors all the Windows behavior or if it's a short coming to tests themselves (eg current code returns NO_MORE_FILES when all files have been read, while NO_SUCH_FILE is returned for an empty new scan; so perhaps we should discriminate between the two using a mask with wildcard and one partial (ie not returning all the entries at once)). - also, testing a NULL mask, an empty mask could be interesting
for the patch to unix/file.c itself, I think you should write it by keeping all the changes within get_dir_cached_data() (just passing the extraneous restart_scan variable)