Hi Guilhem!
Guilhem Bichot wrote:
> Hello,
>
> Joerg Bruehe a écrit, Le 07.02.2011 12:50:
>> #At file:///MySQL/REPO/V55/bug42969-5.5/ based on
>> revid:joerg@stripped
>>
>> 3212 Joerg Bruehe 2011-02-07
>> Bug #42969 Please add a MANIFEST to each build
>> First attempt at a test that will verify the existence
>> of both "INFO_SRC" and "INFO:_BIN", as well as (some of)
>> their expected (invariant) contents.
>>
>
>> +open(I_SRC,"<","$dir_docs/INFO_SRC") or print "Cannot open 'INFO_SRC'
>> in '$dir_docs'\n";
>> +while(defined ($line = <I_SRC>)) {
>> + if ($line =~ m|^MySQL source \d\.\d\.\d+|) {$found_version = "Found
>> MySQL version number";}
>> + if ($line =~ m|^revision-id: |) {$found_revision = "Found BZR
>> revision id";}
>
> Can we make the pattern above more specic, to verify that in the
> revision-id line we have '@' and '-2', as in
> joerg@stripped
> ?
> The interest is making sure that it's really a bzr revision-id which the
> cmake commands put in INFO_SRC, and not some wrong data.
Sure, that is no problem. I will do that.
>
>
>> +}
>> +close I_SRC;
>> +print "INFO_SRC: $found_version / $found_revision\n";
>> +$found_compiler = "No line 'Compiler flags'";
>> +$found_features = "No line 'Feature flags'";
>> +open(I_BIN,"<","$dir_docs/INFO_BIN") or print "Cannot open 'INFO_BIN'
>> in '$dir_docs'\n";
>> +while(defined ($line = <I_BIN>)) {
>> + if ($line =~ m| Compiler flags used |) {$found_compiler = "Found
>> 'Compiler flags' line";}
>
> here we don't search for ':'
Correct - the text doesn't have it:
1) That is my first version, it fails on Windows, because there I cannot
output compiler *flags*, rather I output "Generator used".
2) The complete header line about "flags" (on Unix) is
===== Compiler flags used (from the 'sql/' subdirectory): =====
because some directories are using slightly different flags, so you
see there is no colon immediately after "used".
On Windows, it is
===== Compiler / generator used: =====
>
>> + if ($line =~ m| Feature flags used:|) {$found_features = "Found
>> 'Feature flags' line";}
>
> here we do?
Yes, as explained above (feature flags apply to the whole build).
The current check on "INFO_BIN" is
while(defined ($line = <I_BIN>)) {
# "generator" on Windows, "flags" on Unix:
if (($line =~ m| Compiler / generator used: |) ||
($line =~ m| Compiler flags used |)) {$found_compiler =
"Found 'Compiler ... used' line";}
if ($line =~ m| Feature flags used:|) {$found_features =
"Found 'Feature flags' line";}
}
So I don't mention "flags" in the success message any more.
>
> The rest looks quite good.
Thanks!
I trust checking for two header lines per file is enough, and the
messages should clearly tell the problem in case of a failing test.
By now, I fixed the Windows issue, and I also fixed path name build
(RPMs use a different layout, even different for SuSE and RedHat).
I will check the results of the last platforms tomorrow (some are still
missing), but what I got till now already covers all different types of
platforms.
I expect to provide the final (combined) changeset tomorrow.
--
Joerg Bruehe, MySQL Build Team, joerg.bruehe@stripped
(+49 30) 417 01 487
ORACLE Deutschland B.V. & Co. KG, Komturstrasse 18a, D-12099 Berlin
Geschaeftsfuehrer: Juergen Kunz, Marcel v.d. Molen, Alexander v.d. Ven
Amtsgericht Muenchen: HRA 95603