]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/commitdiff
Allow fake valgrind test helpers to have a body
authorVincent Pit <perl@profvince.com>
Thu, 12 Nov 2015 15:10:32 +0000 (13:10 -0200)
committerVincent Pit <perl@profvince.com>
Thu, 12 Nov 2015 15:47:49 +0000 (13:47 -0200)
t/lib/Test/Valgrind/FakeValgrind.pm

index 098bae02fed9b17e04dd9a13c67ca131077778d5..ec3abd46aac292f2832cd687ffcb98b17a3ee513 100644 (file)
@@ -8,7 +8,7 @@ use File::Spec;
 use File::Temp;
 
 sub _dummy_valgrind_code {
- my ($version) = @_;
+ my ($version, $body) = @_;
 
  my $perl = $^X;
  unless (-e $perl and -x $perl) {
@@ -18,11 +18,18 @@ sub _dummy_valgrind_code {
   }
  }
 
+ if (defined $body) {
+  $body = "\n$body";
+ } else {
+  $body = '';
+ }
+
  return <<" FAKE_VG";
 #!$perl
 if (\@ARGV == 1 && \$ARGV[0] eq '--version') {
  print "valgrind-$version\n";
-}
+ exit 0;
+}$body
  FAKE_VG
 }
 
@@ -31,6 +38,7 @@ sub new {
 
  my $exe_name = $args{exe_name};
  my $version  = $args{version} || '3.1.0';
+ my $body     = $args{body};
 
  my $self = { };
 
@@ -45,7 +53,7 @@ sub new {
   $self->{tmp_dir}      = File::Spec->catpath($vol, $dir, '');
  }
 
- my $code = _dummy_valgrind_code($version);
+ my $code = _dummy_valgrind_code($version, $body);
  return 'Could not generate the dummy valgrind executable' unless $code;
 
  return 'Temporary file already exists' if -s $self->{tmp_file};