I may be repeating something we already do, because I don't know our
test suite in great detail (as yet ;) ). However, it occurred to me that
perhaps something that should be tested is the equality of our public
and protected fields and methods with those of Sun. This could probably
be done quite easily by writing a little java program to use reflection
on every java.* class to find out the public and protected members and
everything about them, and compare this with a saved database of some
sort (creating the database if it did not exist). The program would then
be run once under Sun's classes to obtain the official spec (which I
don't think breaks the clean room, since it is after all a "reference
implementation" and we're only getting at truly public information) and
then run under classpath to perform the test.
The same thing could maybe even be achieved with javap and some clever
grepping and sedding.
This would be useful, for example, for checking whether all necessary
changes have been made to upgrade from beta3 to beta4 without doing it
all painstakingly manually.
There are other, similar, compatibility tests that could be made against
the "reference implementation", for example, identity of serialized
output (we could compare whether it is identical without looking at what
sun's actually *is* maybe?).
I hope this *is* legal, or what's the point in having a reference
implementation?
Just a thought, cause I don't have the time to implement it myself (I'm
still struggling away with my little free time at getting the
collections interfaces, abstract classes and utility classes complete
and fully commented before even the free time I have goes away for a
while...)
Stuart.