Hi, Here are some instructions for getting the Mauve testsuite running with GNU Classpath+gcj/jikes+kissme.
# The compiler - Get a recent gcj (>= 3.2) or jikes (>= 1.15) (See http://gcc.gnu.org/ or http://www.jikes.org/) # The class libraries - Get recent GNU Classpath sources from CVS. (See http://savannah.gnu.org/cvs/?group=classpath) - Do the magic auto* dance: aclocal; autoheader; automake; autoconf - Do either ./configure --with-jikes --enable-jni or ./configure --with-gcj --enable-jni (note that you can specify a path e.g. --with-gcj=/usr/local/gcc/bin/gcj) - make - make install # The runtime - Get recent Kissme sources from CVS (or maybe a recent build). (See http://kissme.sourceforge.net/) - Do the magic auto* dance (note the -a for automake): aclocal; autoheader; automake -a; autoconf - ./configure --enable-use-zips --with-gnu-classpath=/path/to/src/classpath - make - Check that it works correctly: jikes/gcj -C helloworld.java useful_scripts/kissme helloworld - Add the kissme script to your PATH. - More checks: make build-hitme && make run-hitme (Only ThreadInterrupts should fail.) # The test suite - Get recent Mauve sources from CVS. (See http://sources.redhat.com/mauve/download.html) - Create a new empty directory "mauve-test" next to your new mauve directory and go into it. - Do either: JAVA=kissme JAVAC="gcj -C -bootclasspath /usr/local/classpath/share/classpath/glibj.zip" ../mauve/configure or JAVA=kissme JAVAC="jikes -bootclasspath /usr/local/classpath/share/classpath/glibj.zip" ../mauve/configure - Add the attached file mauve-kissme to the mauve directory. (This tells the build which tests should/shouldn't be compiled/run.) - Run the tests: make check "KEYS=kissme" - If the compile or tests don't seem to pickup the correct classes try: rm .save-keys choices; make check "KEYS=kissme" To make sure all old config is gone. - If you want to also see the tests that succeed do: make check "KEYS=kissme "TESTFLAGS=-verbose" - To get more debug output do: make check "KEYS=kissme "TESTFLAGS=-verbose -debug" At the moment you will get the following results: 158 of 6276 tests failed (Some of these are known failures, some still have to be investigated.) If you want to run just one particular test then do something like: echo gnu.testlet.java.util.Random.basic | kissme gnu.testlet.SimpleTestHarness -verbose -debug Note that if you have the gcc source you can also run the Mauve tests for [lib]gcj by doing: - MAUVEDIR=/path/to/unconfigured/mauve make check-target-libjava Let me know if this works or if you have any trouble setting this up. Cheers, Mark P.S. Make sure you #undef DEBUG in include/config.h from classpath after configure. It is currently always set to 1 which generates a lot of debug output when using Kissme which makes the Mauve results unreadable. (See Bug/Patch #562)
# Config file that tells mauve about the `kissme' tag. JDK1.0 JDK1.1 JDK1.2 JDK1.3 JDK1.4 JLS1.0 JLS1.1 JLS1.2 JDBC2.0 # These 2 are tests that fail to compile with JDBC2.0 but the tags don't # seem to have the right effect. !java.sql.Connection.TestJdbc10 !java.sql.DatabaseMetaData.TestJdbc10 # We now implement JDBC3.0 which means the following tests don't compile !java.sql.Blob.BlobTest !java.sql.Clob.ClobTest !java.sql.Connection.TestJdbc20 !java.sql.DatabaseMetaData.TestJdbc20 # Cannot be compiled !java.text.ACIAttribute # Character.unicode seems to be very broken (the test) # Does not give meaningfull test results at the moment. !java.lang.Character.unicode # These are almost certainly buggy test cases. # The behaviour of the garbarge collector cannot be predicted. !java.lang.ref # Strange behaviour (crash or hang) !java.io.ObjectInputOutput # Crashes when compiled with gcj !java.lang.Math.min # Not yet in GNU Classpath !javax.naming.*

