On 6/15/06, David Van Couvering <[EMAIL PROTECTED]> wrote:
I ran derbyall on my machine prior to checkin and it worked.  But this
checkin was the first time derbyall included MessageBundleTest.  It did
not pass before then.  I must have not properly checked in the output
file, is all I can think of.  I'll look into this, apologies.

The problem is that MessageBundleTest has a direct reference to the
class file for the SQLState class
(org.apache.derby.shared.common.reference.SQLState.class), which,
during compilation, compiles in a reference to the actual class and
not one of the public final strings defined by the SQLState class.

During compilation, the SQLState class is normally factored out by the
compiler, since the Strings it contains can be placed directly into
the constant pool of classes that reference it.

However, since MessageBundleTest contains a direct reference to
SQLState.class, a reference to the fully qualified class file
SQLState.class remains in MessageBundleTest.class. This means that the
class file for SQLState needs to be present at runtime (e.g., in
derbyTesting.jar), or the direct reference to SQLState.class in
MessageBundleTest:54 needs to be removed, for the test to pass.

andrew

Reply via email to