You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-cvs@httpd.apache.org by st...@apache.org on 2003/01/21 06:54:51 UTC

cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestServer.pm

stas        2003/01/20 21:54:51

  Modified:    perl-framework/Apache-Test/lib/Apache TestServer.pm
  Log:
  support the valgrind leak detector
  Submitted by:	Philippe M. Chiasson <go...@eXtropia.com>
  Reviewed by:	stas
  
  Revision  Changes    Path
  1.61      +25 -3     httpd-test/perl-framework/Apache-Test/lib/Apache/TestServer.pm
  
  Index: TestServer.pm
  ===================================================================
  RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestServer.pm,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- TestServer.pm	1 Jul 2002 08:11:50 -0000	1.60
  +++ TestServer.pm	21 Jan 2003 05:54:51 -0000	1.61
  @@ -18,9 +18,10 @@
   # some debuggers use the same syntax as others, so we reuse the same
   # code by using the following mapping
   my %debuggers = (
  -    gdb    => 'gdb',
  -    ddd    => 'gdb',
  -    strace => 'strace',
  +    gdb      => 'gdb',
  +    ddd      => 'gdb',
  +    valgrind => 'valgrind',
  +    strace   => 'strace',
   );
   
   sub new {
  @@ -124,6 +125,27 @@
       my($self, $strace, $file) = @_;
       #XXX truss, ktrace, etc.
       "$strace -f -o $file -s1024";
  +}
  +
  +sub valgrind_cmd {
  +    my($self, $valgrind) = @_;
  +    "$valgrind -v --leak-check=yes --show-reachable=yes";
  +}
  +
  +sub start_valgrind {
  +    my $self = shift;
  +    my $opts = shift;
  +
  +    my $config       = $self->{config};
  +    my $args         = $self->args;
  +    my $one_process  = $self->version_of(\%one_process);
  +    my $valgrind_cmd = $self->valgrind_cmd($opts->{debugger});
  +    my $httpd        = $config->{vars}->{httpd};
  +
  +    my $command = "$valgrind_cmd $httpd $one_process $args";
  +
  +    debug $command;
  +    system $command;
   }
   
   sub start_strace {