winetest can't parse subtest for msvcrt(d)

Ferenc Wagner wferi at
Sun Aug 29 09:19:04 CDT 2004

Saulius Krasuckas <saulius2 at> writes:

> On 27 Aug 2004, Vincent Béron wrote:
>> Just redirecting it to glibc would be trivial, but the problem is that's
>> not the Right Thing To Do (tm) as both don't have exactly the same
>> behavior, and that some apps rely on the msvcrt behavior (ie, break when
>> using glibc's). 
> This part if fine.  Now please tell me: why printing result of msvcrt*
> tests should depend on the difference of this behaviour?  I mean, why do
> we need msvcrt functions to print information about the behaviour of
> another msvcrt functions?  I always used to thought this is extremely
> uncorrelated stuff:
> 1, testing function of the lib;
> 2, printing results of the test.
> Are both thingies hardly tied?  Forgive my ignorance, but I am afraid I 
> won't be able to undrestand this just by digging in the Wine src.  Thanks.

You are absolutely right, these two things should have
nothing to do to each other.  On my part it's simply that
I've got no idea how to make that distinction.  Wine's
testing framework (test.h) uses fprintf() to do its output.
It usually means glibc's fprintf(), but in the msvcrt* tests
in means that of msvcrt, since those tests are linked with
-lmsvcrt explicitly before the implicit -lc for the very
purpose of the tests.  So it's pure technicality at this end
(at the other it's the matter of fixing msvcrt to take glibc
redirection into account), which I didn't care enough to
find a way to fix.  It would be trivial if all the test used
LoadLibrary() and GetProcAddress() to access the functions
they test instead of linking them in, but it's not the case,
especially not with such common and widely available
functions as fprintf() for example.

Hope I got the explanation right and that it makes sense for
you.  We are humans, that's to say...

And finally a couple of winetest todos:

1. Implement the Stop button, like eg. first wait for the
   current test, then force termination.
2. Add an option the extract the tests and stop.
3. Ask for a Tag in the GUI (defaulting to the one given on
   the command line).
4. Add HTTP proxy support.
5. Remove mystrtok(), which isn't needed anymore.

Out of these 3. and 4. would be the most useful additions,
but the show seems to be stopped on the server side, so I
will work there first.

More information about the wine-devel mailing list