msvcrt:file test failures under wine and winetest

Austin Lund austin.lund at gmail.com
Fri Feb 13 21:16:44 CST 2009


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_Wine

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?



More information about the wine-devel mailing list