In my work this week on the new test automation framework for Drizzle, I have realized that the existing MySQL test suite is in bad need of a spring (southern hemisphere) cleaning. Actually, to be clear, it's not the test runner (tests/test-run.pl and client/drizzletest.cc) which needs spring cleaning, but the tests themselves. While I have made some improvements to the runner itself, to make it more extensible and easier to understand, it is the tests themselves which represent MySQL's version of Pompeii, the Italian city buried underneath the ash of Mt. Vesuvius.
Like the bodies underneath the piles of ash in Pompeii, many of the individual tests in the MySQL test suite are frozen in time.
In a way, this is understandable, for a few reasons. …
[Read more]