Is this a translation of the note The disappearance of the test suite or the next part of MySQL has become closed? (Disappearing test cases of mySQL or just become closed source?)About a week ago I was learning MySQL 5.5.27 and noticed a curious detail. Despite the fact that the new release of MySQL contained the usual set of fixes, none of them was accompanied by a test.
Now, let me tell you something about these tests. For many years, MySQL used its own test framework called mysql-test. The first version was written in 1999. Over time, he collected a lot of tests. There were both tests for the new functionality and regression tests that ensured that the error, when corrected, would never appear again. We in MySQL AB (and later in Sun Microsystems) had quite strict rules about them - each new fix had to be accompanied by a test for it. And because these tests were always performed on a variety of platforms for each commit (a continuous integration tool called Pushbuild is an internal development of
Kristian Nielsen ), we were pretty sure that any bug fixed would always remain so. I no longer have a relationship to MySQL, but I still can not imagine that Oracle will weaken this rule. This means that tests must be somewhere else.
One of the changes in 5.5.27 adds the extension to the
mysql-test-run
script (the control script of the
mysql-test
), which causes it to search for tests in the new directory. In addition to the usual place (that is, the
mysql-test
/ directory in the source tree), the script will also look for tests in the
internal/mysql-test/
directory. Does this mean that the test suite is no longer open source? Oracle did not answer my
question . However, there is evidence that this is most likely the case. For example, this
commit message shows that new tests do indeed refer to the internal directory, which is not included in the MySQL source distribution archive.
')
MySQL tests have always been an important part of the MySQL source tree. They were of particular value to storage developers and other people writing extensions for MySQL, for example, on
Facebook ,
Twitter ,
Taobao . They are also useful for Linux distributions that add their patches to MySQL, and even to users who have not changed the code — they still want to make sure that a particular error has been fixed, or that their self-assembly options have no obvious errors.
In May, at the Ubuntu Developer Summit in Auckland, Oracle had 7 representatives who promised that Oracle would be more friendly to distributors and distributors. It's sad to see that the MySQL source tree is closed instead.
MySQL AB never knew how to create a good developer community around a project. Quite a few developers and contributors to the project are not in MySQL AB, and the company is not trying too hard to increase their number. But now Oracle has paid attention to them and deliberately finishes everything that remains from the community. Without a test suite, MySQL becomes opaque to external developers, like any piece of proprietary software, and only the most experienced and familiar with the MySQL code base can continue to work with it.
UPDATE : It’s hard to find something more valuable for third-party developers than this test suite. Well, except the change history. In it, changes in these millions of lines of code are combined into sets, one set for a function, or a specific fix. This allows you to see who changed a specific line in the code, when and why. It seems that Oracle is going to close this information too. MySQL public source trees on the Launchpad with the change history are
no longer updated .
And anyway, is there at least one successful Open Source project devoid of the developer community?
UPDATE 2 : We are not the only ones affected by this problem. See also:
The translation ends here, the UPDATEs above are present in the original post.
This is my first translation, so if you see the best translation in some places or you find errors, write to me in PM.
The author of the original note is on Habré - this is petropavel