The Mauve Project

The Mauve Project FAQ

Maintained by Anthony Green <>.
$Revision: 1.13 $

Q1. "What is Mauve?"

The Mauve Project is collaborative project whose goal is to create a Free suite of functional, black box, tests for the core Java™ libraries.

Q2. "Who is involved?"

The initial group of contributors come from the GNU Classpath project, GNU Compiler for the Java Programming Language project, and the Kaffe project. All three groups are working on Free (with source) cleanroom implementations of the Java core libraries. Although we are working on independent library implementations, we have decided to collaborate on a single testsuite. The Mauve Project is the product of this collaboration.

Q3. "Why is this important?"

Quality and conformance!

Collaborating on a single testsuite will help raise the quality bar for all of our independent implementations (and indeed all implementations). Also, wouldn't it be nice if the libraries all behaved the same way? The Mauve Project testsuite will help make this possible.

Q4. "But conformance to which spec?"

Good question! There are a number of them out there: the JLS 1.0 and its "amendments", as well as the different flavors of Java, like PersonalJava and JavaCard. There are also the various JDK implementations (1.0, 1.1 and 1.2/2.0) which occasionally vary from the Java Language Specs in subtle ways. One of the design goals of the test suite is to support multiple specs. A simple test case tag scheme is used to identify which specs individual test cases work against. The tester selects the set of tags they wish to test with when they run the suite. "JDK1.2", for instance, is one of the current tags - but the tag system was defined to be flexible and extensible.

Q5. "Why don't you just use Sun's Java Compatibility Kit?"

Sun is not making the JCK freely available to independent cleanroom implementors.

Q6. "I'm working on a cleanroom implementation here at Yoyodyne, Inc. Can I use the Mauve Project's testsuite?"

Of course. There are no restrictions on running the testsuite with your own implementation. However, wouldn't you feel better about it if you provided some feedback, or even made some test case contributions?

Q7. "I'm a Sun Licensee. Can I use the Mauve Project's testsuite to test our port?"

Yes. See Q6.

Q8. "I'm Sun. Can I use the Mauve Project's testsuite?"

Sure. See Q6.

Q9. "This all sounds great! How can I help?"

Write test cases! This is an ambitious project, but, fortunately, test case design is largely a partitionable task. And remember, by contributing to the Mauve Project, you're actually contributing to a number of important Free software projects.

Q11. "But what's with the weird name?"

We're an unimaginitive lot. "Mauve" is a color. It seemed about as good as anything. Coffee puns are getting tired.

Questions? Send them to!