In this moment, there are two kinds of testing in Derby. One is junit test framework, and the other is harness framework. Accordingly, resolvation on non-English locale can be considered as three aspects:
1, for junit test framework, BaseTestCase, the root of all test cases, should be changed, by setting locale to English in setup() and restoring it in teardown().
2, for harness test framework. RunTest and Runsuite, the entry for all .sql scripts, should be changed, by setting locale before testing and restoring itg after that.
3, there are still some special situation. i.e. as pointed out by Knut in
DERBY-4260, derbynet/NetworkServerControlClientCommandTest will launch a separate process to run java command, so it's necessary to pass "-Dderby.ui.locale=en_US" for the separate process.
So, IMHO, the general resolvation for non-English locale can cover 1 and 2-----maybe two subtasks are needed? As to 3, we can deal with them individually.
Wish for your comments.