There's a test I'd like to see run as part of release verification. It is a sanity check for internationalized messages to make sure that we're actually loading and creating messages correctly. It can't be run as part of derbyall because it requires some code generation, it depends on GNU sed, and because it may need tweaking.

What you do is you cd into tools/testing/i18nTestGenerator, and run generateClientMessageTest.sh <path to Derby root>. It uses GNU SED (gsed) which is available on most UNIX platforms. What it does is it attempts to scan through all the client code looking for where we create internationalized SqlExceptions and generates a test file that basically tries to create each SqlException in an independent unit test.

This involves a lot of substitution work, and each time new SqlExceptions are introduced, it tends to require some tweaking, which I'm glad to help with. But this test has proved invaluable in catching nasty bugs where message ids don't map to a valid messages, the message is not available in the client-side resource file, or the wrong number of parameters are passed to the message.

I could run this test myself as part of my validation of the release, but it would be great to have this documented as one of the tests to run.

If there are no objections, I can add a link to instructions on how to run it off of the general "how to cut a release" page.

David

Reply via email to