On linuxe I get this:

[EMAIL PROTECTED] s2]$ wine /usr/local/lib/wine/winetest.exe.so
Usage: /tmp/wctW5ad4P/msvcrt_test.exe.so test_name

Valid test names:
    cpp
    environ
    file
    headers
    heap
    scanf
    string
    time


..while Wine Test Shell pops up a message box with the error text: 

"Can't parse subtests output of msvcrt".

I think that's due to some additional \r\n-s in the output of
"msvcrt_test.exe.so".  Here goes my observation and comparision to the
case of "mlang_test.exe.so" (which works smoothly with the winetest):

[EMAIL PROTECTED] tests]$ wine msvcrt_test.exe.so | head -n 1 | od -t x1
0000000 55 73 61 67 65 3a 20 6d 73 76 63 72 74 5f 74 65
0000020 73 74 2e 65 78 65 2e 73 6f 20 74 65 73 74 5f 6e
0000040 61 6d 65 0d 0a
0000045

[EMAIL PROTECTED] tests]$ wine mlang_test.exe.so | head -n 1 | od -t x1
0000000 55 73 61 67 65 3a 20 6d 6c 61 6e 67 5f 74 65 73
0000020 74 2e 65 78 65 2e 73 6f 20 74 65 73 74 5f 6e 61
0000040 6d 65 0a
0000043

As the "Valid test names:" string is printed by calling fprintf(), I 
suppose some differences arise due to incorrect linkage or such:

[EMAIL PROTECTED] tests]$ nm msvcrt_test.exe.so | grep fprintf
0001e100 D fprintf
0001e180 D vfprintf

[EMAIL PROTECTED] tests]$ nm mlang_test.exe.so | grep fprintf
         U fprintf@@GLIBC_2.0
         U vfprintf@@GLIBC_2.0


It seems we realy are using msvcrt version of the fprintf(), which works
in true-M$-way and adds an additional \r here.  Next goes last lines from
the build process:

[EMAIL PROTECTED] tests]$ (make clean && make) | tail -n 1
../../../tools/winegcc/winegcc -B../../../tools/winebuild -mconsole cpp.o environ.o 
file.o headers.o heap.o scanf.o string.o time.o testlist.o  -o msvcrt_test.exe.so 
-L../../../libs/port -lwine_port -L../../../dlls -L../../../libs -lmsvcrt   

[EMAIL PROTECTED] tests]$ (make clean && make) | tail -n 1
../../../tools/winegcc/winegcc -B../../../tools/winebuild -mconsole mlang.o testlist.o 
 -o mlang_test.exe.so -L../../../libs/port -lwine_port -L../../../dlls -L../../../libs 
-lole32 -lgdi32 -lkernel32 -lntdll -luuid  


Can we fix it?  I have no idea on how to link it right with the GLIBC.  
Of course, I am not sure this is the core of the problem.  It would be
nice to have winetest running in linux without such two hits (one for the
msvcrt and another one for the msvcrtd).

Or is this just my linux box configuration flawed?


Reply via email to