~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysql-test/lib/mtr_gcov.pl

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- cperl -*-
 
2
# Copyright (C) 2004, 2006 MySQL AB
 
3
 
4
# This program is free software; you can redistribute it and/or modify
 
5
# it under the terms of the GNU General Public License as published by
 
6
# the Free Software Foundation; version 2 of the License.
 
7
 
8
# This program is distributed in the hope that it will be useful,
 
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
# GNU General Public License for more details.
 
12
 
13
# You should have received a copy of the GNU General Public License
 
14
# along with this program; if not, write to the Free Software
 
15
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
16
 
 
17
# This is a library file used by the Perl version of mysql-test-run,
 
18
# and is part of the translation of the Bourne shell script with the
 
19
# same name.
 
20
 
 
21
use strict;
 
22
 
 
23
# These are not to be prefixed with "mtr_"
 
24
 
 
25
sub gcov_prepare ();
 
26
sub gcov_collect ();
 
27
 
 
28
##############################################################################
 
29
#
 
30
#  
 
31
#
 
32
##############################################################################
 
33
 
 
34
sub gcov_prepare () {
 
35
 
 
36
  `find $::glob_basedir -name \*.gcov \
 
37
    -or -name \*.da | xargs rm`;
 
38
}
 
39
 
 
40
# Used by gcov
 
41
our @mysqld_src_dirs=
 
42
  (
 
43
   "strings",
 
44
   "mysys",
 
45
   "include",
 
46
   "extra",
 
47
   "regex",
 
48
   "isam",
 
49
   "merge",
 
50
   "myisam",
 
51
   "myisammrg",
 
52
   "heap",
 
53
   "sql",
 
54
  );
 
55
 
 
56
sub gcov_collect () {
 
57
 
 
58
  print "Collecting source coverage info...\n";
 
59
  -f $::opt_gcov_msg and unlink($::opt_gcov_msg);
 
60
  -f $::opt_gcov_err and unlink($::opt_gcov_err);
 
61
  foreach my $d ( @mysqld_src_dirs )
 
62
  {
 
63
    chdir("$::glob_basedir/$d");
 
64
    foreach my $f ( (glob("*.h"), glob("*.cc"), glob("*.c")) )
 
65
    {
 
66
      `$::opt_gcov $f 2>>$::opt_gcov_err  >>$::opt_gcov_msg`;
 
67
    }
 
68
    chdir($::glob_mysql_test_dir);
 
69
  }
 
70
  print "gcov info in $::opt_gcov_msg, errors in $::opt_gcov_err\n";
 
71
}
 
72
 
 
73
 
 
74
1;