List:General Discussion« Previous MessageNext Message »
From:Joerg Bruehe Date:September 9 2005 4:44pm
Subject:Re: `gmake test` probs Solaris9 for M. 4.1.4.
View as plain text  
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

Thread
`gmake test` probs Solaris9 for M. 4.1.4.Hugh Sasse7 Sep
  • Re: `gmake test` probs Solaris9 for M. 4.1.4.Hugh Sasse9 Sep
    • Re: `gmake test` probs Solaris9 for M. 4.1.4.Michael Stassen9 Sep
      • Re: `gmake test` probs Solaris9 for M. 4.1.4.Hugh Sasse9 Sep
      • Re: `gmake test` probs Solaris9 for M. 4.1.4.Joerg Bruehe9 Sep
        • Re: `gmake test` probs Solaris9 for M. 4.1.4.Hugh Sasse9 Sep
          • Re: `gmake test` probs Solaris9 for M. 4.1.4.Joerg Bruehe14 Sep
      • Re: `gmake test` probs Solaris9 for M. 4.1.4.Hugh Sasse19 Sep
  • How to benchmark performansOKAN ARI19 Sep
    • Re: How to benchmark performansGleb Paharenko2 Oct