From: Bjorn Munch Date: April 15 2011 8:42am Subject: bzr push into mysql-5.5-mtr branch (bjorn.munch:3196 to 3198) List-Archive: http://lists.mysql.com/commits/135496 Message-Id: <201104150842.p3F8gHm5005086@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3198 Bjorn Munch 2011-04-15 [merge] upmerge 12351213,12360195 modified: mysql-test/lib/My/Find.pm mysql-test/mysql-test-run.pl 3197 Bjorn Munch 2011-04-14 Bug #12360501 MTR --GCOV DOES NOT WORK WITH CMAKE BUILDS Changed to use $bindir instead of $basedir Simplified search for files: find all *.gcno Also, .msg and .err files had been mixed up modified: mysql-test/lib/mtr_gcov.pl mysql-test/mysql-test-run.pl 3196 Bjorn Munch 2011-04-07 [merge] merge from 5.5 main modified: mysql-test/r/innodb_mysql_lock.result mysql-test/r/innodb_mysql_sync.result mysql-test/r/lowercase_table2.result mysql-test/r/plugin_auth.result mysql-test/t/innodb_mysql_lock.test mysql-test/t/innodb_mysql_sync.test mysql-test/t/lowercase_table2.test mysql-test/t/plugin_auth.test scripts/mysql_system_tables_fix.sql sql/sql_show.cc storage/innobase/handler/ha_innodb.cc === modified file 'mysql-test/lib/My/Find.pm' --- a/mysql-test/lib/My/Find.pm 2011-02-24 14:11:05 +0000 +++ b/mysql-test/lib/My/Find.pm 2011-04-15 08:37:20 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (C) 2008 MySQL AB +# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -156,8 +156,7 @@ sub my_find_paths { # User can select to look in a special build dir # which is a subdirectory of any of the paths my @extra_dirs; - my $build_dir= $::opt_config_dir || $ENV{MTR_VS_CONFIG} - || $ENV{MTR_BUILD_DIR}; + my $build_dir= $::opt_vs_config || $ENV{MTR_VS_CONFIG} || $ENV{MTR_BUILD_DIR}; push(@extra_dirs, $build_dir) if defined $build_dir; if (defined $extension){ === modified file 'mysql-test/lib/mtr_gcov.pl' --- a/mysql-test/lib/mtr_gcov.pl 2011-01-18 11:01:40 +0000 +++ b/mysql-test/lib/mtr_gcov.pl 2011-04-14 12:25:15 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (C) 2004, 2006 MySQL AB, 2009 Sun Microsystems, Inc. +# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ sub gcov_prepare ($) { # # Collect gcov statistics. # Arguments: -# $dir basedir, normally source directory +# $dir basedir, normally build directory # $gcov gcov utility program [path] name # $gcov_msg message file name # $gcov_err error file name @@ -43,29 +43,25 @@ sub gcov_collect ($$$) { my $start_dir= cwd(); print "Collecting source coverage info using '$gcov'...\n"; - -f "$start_dir/$gcov_msg" and unlink("$start_dir/$gcov_msg"); - -f "$start_dir/$gcov_err" and unlink("$start_dir/$gcov_err"); + -f "$dir/$gcov_msg" and unlink("$dir/$gcov_msg"); + -f "$dir/$gcov_err" and unlink("$dir/$gcov_err"); my @dirs= `find "$dir" -type d -print | sort`; #print "List of directories:\n@dirs\n"; foreach my $d ( @dirs ) { - my $dir_reported= 0; chomp($d); chdir($d) or next; - foreach my $f ( (glob("*.h"), glob("*.cc"), glob("*.c")) ) { - $f =~ /(.*)\.[ch]c?/; - -f "$1.gcno" or next; - if (!$dir_reported) { - print "Collecting in '$d'...\n"; - $dir_reported= 1; - } - system("$gcov $f 2>>$start_dir/$gcov_err >>$start_dir/$gcov_msg"); + my @flist= glob("*.*.gcno"); + print ("Collecting in '$d'...\n") if @flist; + + foreach my $f (@flist) { + system("$gcov $f 2>>$dir/$gcov_err >>$dir/$gcov_msg"); } chdir($start_dir); } - print "gcov info in $gcov_msg, errors in $gcov_err\n"; + print "gcov info in $dir/$gcov_msg, errors in $dir/$gcov_err\n"; } === modified file 'mysql-test/mysql-test-run.pl' --- a/mysql-test/mysql-test-run.pl 2011-04-07 08:12:52 +0000 +++ b/mysql-test/mysql-test-run.pl 2011-04-15 08:37:20 +0000 @@ -210,8 +210,8 @@ our $opt_clean_vardir= $ENV{'MTR_CLEAN_V our $opt_gcov; our $opt_gcov_exe= "gcov"; -our $opt_gcov_err= "mysql-test-gcov.msg"; -our $opt_gcov_msg= "mysql-test-gcov.err"; +our $opt_gcov_err= "mysql-test-gcov.err"; +our $opt_gcov_msg= "mysql-test-gcov.msg"; our $opt_gprof; our %gprof_dirs; @@ -507,7 +507,7 @@ sub main { mtr_print_line(); if ( $opt_gcov ) { - gcov_collect($basedir, $opt_gcov_exe, + gcov_collect($bindir, $opt_gcov_exe, $opt_gcov_msg, $opt_gcov_err); } @@ -1198,7 +1198,7 @@ sub command_line_setup { chomp; # remove comments (# foo) at the beginning of the line, or after a # blank at the end of the line - s/( +|^)#.*$//; + s/(\s+|^)#.*$//; # If @ platform specifier given, use this entry only if it contains # @ or @! where xxx != platform if (/\@.*/) @@ -1209,8 +1209,8 @@ sub command_line_setup { s/\@.*$//; } # remove whitespace - s/^ +//; - s/ +$//; + s/^\s+//; + s/\s+$//; # if nothing left, don't need to remember this line if ( $_ eq "" ) { next; No bundle (reason: useless for push emails).