Michael,

you beat me in replying, and saved me from typing the analysis - thanks!


Michael Stassen wrote:
[[...]]

The test suite is broken.

Well, I would not put it that way - a diplomatic wording is:
"The tool to run the test suite does not run as it should."
I understand that the effect for Hugh and you is the same ;-)


The archive test is meant to test the archive table engine, but the archive engine is not built into mysql by default. You have to add the --with-archive-storage-engine if you want it. You didn't do that, so the archive test should have been skipped.

With mysql 4.1.12, `make -n test` reveals

  cd mysql-test; ./mysql-test-run && ./mysql-test-run --ps-protocol

With 4.1.14, that has changed to

  cd mysql-test; perl mysql-test-run.pl && perl mysql-test-run.pl
  --ps-protocol

Apparently, the test program shell script, mysql-test-run, has been rewritten as a perl script, though there is no mention of this in the change log <http://dev.mysql.com/doc/mysql/en/news-4-1-x.html>. A quick glance at the source shows that the perl script is not finished -- it has quite a few commented-out, "fix me" sections.

Correct. A Perl script for the test suite is being worked on. Reasons:
1) A shell script will never work for "native" Windoes users who do not install Cygwwin, MinGW, MKS or similar suites. 2) The shell script lacks some functionality which is needed, and it is already too convoluted.

So that Perl script is "work in progress" which we needed to test on all build platforms. It was an oversight that it got included in the source tree in the current status, the tests have also been done using the old shell script.


[[...]]

There's a second way, which I think is better. It turns out that the old shell-script test suite is still built. Hence, you can still test the old way.

  cd mysql-test && ./mysql-test-run --force

Right, this is what I recommend.

To be a bit picky: There is one standard test suite only (which is included in the source tar-ball), but there are currently two different scripts to run it, the (old) shell and the (new) Perl script.

The specific error causing your and Hugh's problem, the incorrect skipping of tests which are not applicable to the server to be tested, has been fixed, but maybe this version has not yet been pushed to the 4.1 tree.


[[...]]

As the old test script is still built and the new test script is unfinished, undocumented, and broken, I am suspicious that the real problem is that make was prematurely (accidentally?) changed to use the new one before it was ready. I've copied the bugs list in hopes of an answer.

Both "yes" and "no":
"yes" in the sense that the new suite (as included in the 4.1.14 tree) is not yet correct. "no" in the sense that the change to use it _internally_ was deliberate in order to get full platform coverage.

We are sorry it caused you inconveniences!


Regards,
Jörg


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to