This is the mail archive of the mailing list for the Mauve project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mauve patches.


On Sun, 2004-04-11 at 20:57, David Lichteblau wrote:
> Quoting Thomas Zander (
> > On Sunday 11 April 2004 14:22, David Lichteblau wrote:
> > > Quoting Thomas Zander (
> > > > I hope you'll agree that its more important to have people creating
> > > > patches and moving the project forward then to always have a 100%
> > > > correct CVS. (problems can be fixed post-commit)
> > > No!
> >
> > would you care to elaborate on your position?
> Sure: "Problems should be fixed pre-commit."

I agree. Mauve is actually used daily by people (me). And some people
even use it in autobuilders/testers which are updated from CVS.

> BTW, to ask a technical question, is the "tagging" of Mauve testcases
> used in practice?  Much of the complexity of the existing build systems
> stems from the fact that tests are selected by a non-trivial script.  If
> not for the tags, something like "find . -name \*.java" would be enough
> to select all files.

There are Tags to select which test (sets) you want to run. But also
Uses which declare what a test depends on. That is needed to make sure
you compile all java source files needed and only those files.

> Mark Wielaard sent an analysis of test suite failures for current
> Classpath, which I found very helpful (thanks!).  When I am interested
> to see whether the current Classpath version "works", which tags should
> be used?  All of them, right?  

Yes. I am using:
KEYS="JDK1.0 JDK1.1 JDK1.2 JDK1.3 JDK1.4 JLS1.0 JLS1.2 JDBC1.0 JDBC2.0 JAVA2"
And I used to add !java.lang.Character.unicode since that was broken
till next week (thanks Stephan!).

> Unless I misunderstood Thomas' question, he could not compile all of
> Mauve because his script tried to compile _everything_, as opposed to
> those files usually chosen by the standard build system.  I would find
> it a little confusing if Mauve provided two build systems, one which
> uses tags and one which does not.

Actually Mauve already provides two mechanism. I secretly (well, there
is a changelog entry and some discussion on the mailinglist) added a
second method last year. The way the Makefile works does indeed try to
compile everything you tagged/choose at once and then run all those
tests in one go. I added a little batch_run and runner (bash shell)
script that actually uses the choose script to compile each test (and
dependent source file) separately and then run each test separately
(installing a timer to catch a hanging runtime). Unfortunately I never
documented that in the README. And it also doesn't work nicely with the
configure script. You actually have to edit the used compiler (COMPILER)
in batch_run and the used runtime (RUNTIME) in runner. But it is nice
for those times that a test doesn't compile or hangs/crashed the
runtime, then you just get one failure and the rest of the tests are
still run.

(There is actually even a third build system for mauve. It is embedded
in an expect script inside libgcj gcc/libjava/testsuite that does kind
of what the above shell script does, but then runs each test both with a
traditional byte code interpreter and compiled as native code.)



Attachment: signature.asc
Description: This is a digitally signed message part

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]