Hi Dan,

We briefly discussed this compatiblity test suite late last month on a thread titled "client/server compatibility testing". Here's the essence of that proposal:

o As part of the checkin barrier, derbyall should just test the compatibility suite against a Derby client and server running at the current level on the same jdk version. o The full set of combinations can be run on a weekly basis by some authority. o The full set of combinations should be run as part of the release barrier.

I was hoping that the first point could be accomplished by some jiggery pokery which ran the compatibility suite under the normal (non-junit) test harness, producing a canon. This wouldn't wrench the existing machinery around too much. However, it would require developers to download the junit jar so that the test class would build and execute...and this may be controversial.

The full compatibility suite (run weekly and before releases) would be a collection of junit test runs--for which no canons would be necessary. It would run under its own small ant- and junit-based harness with its own instructions. I don't regard this harness as a permanent fixture. I am cautiously hopeful that someone will tackle the problem of migrating our existing tests to JUnit; and when they do, my temporary harness can be thrown away and the compatiblity suite can be integrated with the general mechanism. Back in May, an email thread titled "JUnit" discussed the desirability of migrating our tests to the JUnit framework over time. You described your experiments with JUnit and seemed hopeful that this framework would reduce the time it takes to run derbyall.

Other than requiring developers to download the junit jar, I think I am proposing something fairly modest here. However, the camel's snout would be in the tent. With JUnit now visible to Derby developers, momentum might build for someone to attempt the bigger migration. At that point, we probably would have to iron out a lot of controversial issues.

Please help me understand what issues (besides the junit jar requirement) you see in this first, smaller proposal to expose an ant- and junit-based compatibility test suite.

Thanks,
-Rick

Daniel John Debrunner wrote:

Rick Hillegas wrote:

Thanks Jean, David, and Francois for your suggestion that I amend
BUILDING.txt. Now I'm back to an etiquette question: I'm hoping to check
in a JUnit assertion-based test. Since the test needs JUnit to build, my
patch will break everyone's build: they will have to download the junit
jar themselves. This could annoy a lot of folks. What is the etiquette
for breaking the build this way?

I think a vote would be needed to accept the patch.

Currently Derby's testing policy is its own harness, you seem to be
suggesting some change, but it's not clear what.

What's the expectation here, that these Junit tests need to be run
before any commit, in addition to derbyall? Or that they are separate
tests run by those that care to, like the current upgrade tests?

If they are required to be run, then are you providing a single command
that executes both derbyall and the junit tests?

Dan.



Reply via email to