Hi, On Sun, 2004-04-11 at 20:57, David Lichteblau wrote: > Quoting Thomas Zander (zander@javalobby.org): > > On Sunday 11 April 2004 14:22, David Lichteblau wrote: > > > Quoting Thomas Zander (zander@javalobby.org): > > > > 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.) Cheers, Mark