new old winetests

Dimitrie O. Paun dpaun at rogers.com
Sat Nov 22 10:45:02 CST 2003


On November 22, 2003 11:07 am, Ferenc Wagner wrote:
>                Hi Dimi,
>
> I appreciate your support very much.  Now it's just a quick
> reflection on the patch you sent, before I can take a closer
> look and testing.  Btw, if it's you who ran the program
> under Wine, you may be interested in the results:

Yes, it was me, thanks!

> It is strange how the msvcrt test is different, but as a
> whole it looks like a resource error (missing/wrong test
> files). 

Yes, there was a problem. For unknown reasons, for msvcrt
I get this:
const char* subtests_for_test5[] = {
    "cpp^M",
    "file^M",
    "heap^M",
    "scanf^M",
};

That is, a <CR> at the end of the subtests name. I know
it's a problem, and it should be fixed, but I wanted
to send the patch out, it was way too late already.
Maybe you can look into that. If I discover something,
I'll send out a note.

> "Dimitrie O. Paun" <dpaun at rogers.com> writes:
> >    -- better integration in the build system
>
> You convinced me that this system is utterly and absolutely
> far beyond me.  I'd have never invented the amazing
> .res.res.cross.o quadruple extension... 

It's not a quadruple extension. The rule describes how to
get from a .res file to a res.cross.o. The reason we need
that is that MinGW doesn't know how to link in a .res file
(as everybody does), they need to compile first the thing
to an object file. We can not use just the .cross.o ext
because it may conflict with something else (many projects
have a xxx.c file and a xxx.rc file). Hence the longer
extension.

> Btw, did you take into account that cross resources require 
> a separate resource script, too?  I can't tell it from your patch...

I hope I did. Namely this part:
    $(CROSSOBJS:_so.res.cross.o=_pe.res.cross.o)

> >    -- supports out of tree builds
>
> What was needed for this?

We need to explicitly give the maketests script the
tests.list file. I did so as the second parameter:

       $(SRCDIR)/maketests -r_so $(SRCDIR)/tests.list > $@

> >    -- cleans up file when winetests fails
>
> May I ask you to point it out?  I can't see it on fatals.

This bit:
    ... || ( $(RM) $@ && exit 1 )

This is needed because the redirection always creates the output
file, even if maketests fails. So on failure we need to cleanup.

> >    -- supplies an automatic build label for unattended builds
>
> Might the CVS date of ChangeLog not be better perhaps?

Maybe. But this one was simple. Problem is that the ChangeLog
doesn't tell you if the tree is modified or not, so it may be
misleading. This way at least we know that something may be
changed from the official version. Maybe a combination of the
two, but I don't think it's that important.

> >    -- remove the WINELIB flag (was always present anyway)
> >
> :) Not before I put the crosscompile commands into the
> Makefile.  It definitely made a difference, but sure can be
> traded for some extra #includes.

You are correct, it was making a difference, but not anymore
as it will get passed in when cross compiling as well 
(with my scheme of using the Make.rules.in rules).

> >    -- renames removeDir to remove_dir for consistency
>
> That function may be an overkill anyway.  All we have to do
> is delete some files and a directory, all of which we know
> the name of.  It that's not enough, at least one test is
> buggy.

Feel free to do whatever you think it's more appropriate.
I don't mind having a more general function, it's not
that big, and at least it removes all possible future 
headaches associated with cleanup. I'd keep it.

> Thanks again, and will change that pesky indentation.

Thank you! :)

-- 
Dimi.




More information about the wine-devel mailing list