I've been playing around with the odd failure that occurs on some platforms for the msvcrt:file tests.
http://test.winehq.org/data/6a1537c4b5037be5253c33021fda3a02430533f7/#group_...
I am able to recreate it on my computer running ubuntu 8.10. (tag: apl-u810-dell630)
I was trying to nail down what exactly problem was when I found the following:
$ ./programs/winetest/winetest -o out -c msvcrt:file 2> /dev/null && tail -n 8 out Test output: msvcrt:file start dlls/msvcrt/tests/file.c - file: 3 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 1 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 5 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 5 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 462 tests executed (0 marked as todo, 0 failures), 0 skipped. msvcrt:file done (0)
It seemed to succeed when it was the only test run. I played around for a bit with this and found the combination of tests which causes the failure:
$ ./programs/winetest/winetest -o out -c msvcrtd:debug msvcrt:file 2> /dev/null && tail -n 13 out Test output: msvcrtd:debug start dlls/msvcrtd/tests/debug.c - debug: 2 tests executed (0 marked as todo, 0 failures), 0 skipped. msvcrtd:debug done (0) msvcrt:file start dlls/msvcrt/tests/file.c - file: 3 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 1 tests executed (0 marked as todo, 0 failures), 0 skipped. file.c:1057: Test failed: fstat(stdin) failed: errno=2 file.c:1066: Tests skipped: stdin is not a char device? st_mode=100666 file: 5 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 5 tests executed (0 marked as todo, 0 failures), 0 skipped. file: 458 tests executed (0 marked as todo, 1 failure), 1 skipped. msvcrt:file done (1)
Also of note is that when doing "make test" this failure never occurs.
So whatever is going on, it is a strange interaction between msvcrtd:debug msvcrt:file tests and winetest.
Another point to make is that the error that corresponds to errno=2 is "No such file or directory", which is an odd message for a filedes which is meant to be stdin.
Does anyone have any tips on what to look at to nail this one down?