message: Rather than insist on trying to kill -2 actual mpi process (so it removes the .sst file) run in a subdirectory, clearing before and after.
diff: # This script has been build to run the tests in the bin directory.
  use Getopt::Long;
  use List::Util qw(shuffle);
  +use File::Path qw(remove_tree);
  use strict;
  use warnings;
  @@ -48,16 +49,15 @@ my $result = 1;
  my $writer_exec_cmd = "@MPIEXEC@ @MPIEXEC_NUMPROC_FLAG@ $num_writers";
  my $reader_exec_cmd = "@MPIEXEC@ @MPIEXEC_NUMPROC_FLAG@ $num_readers";
  +remove_tree($filename);
  +chdir $filename;
  +
  if (("@MPIEXEC@" eq "") or ("@MPIEXEC@" eq "MPIEXEC_EXECUTABLE-NOTFOUND")) {
  # NO MPI
  $writer_exec_cmd = "";
  $reader_exec_cmd = "";
  }
  -if (($num_writers == 1) && ($test_protocol eq "kill_writer")) {
  - # don't use MPIexec here so that we can directly kill -2 the writer..
  - $writer_exec_cmd = "";
  -}
  defined(my $writer_pid = fork) or die "Cannot fork $!";
  unless($writer_pid)
  {
  @@ -138,6 +138,8 @@ if ($test_protocol eq "kill_readers") {
  $exit_value = 1; #failure
  print "TestDriver: Setting failure return because of bad exit status ($?) of writer\n";
  }
  + chdir "..";
  + remove_tree($filename);
  exit $exit_value;
  } # end kill_readers protocol
  @@ -159,9 +161,7 @@ if (($test_protocol eq "one_to_one") || ($test_protocol eq "kill_writer")) {
  print "TestDriver: waiting $interval in kill_writer\n" if $verbose;
  select undef, undef, undef, $interval;
  print "TestDriver: Killing the writer in kill_writer, pid $writer_pid\n" if $verbose;
  - system('ps');
  kill -2, $writer_pid;
  - print "TestDriver: Killed the writer with -2 in kill_writer, pid $writer_pid\n" if $verbose;
  }
  waitpid($reader_pid, 0);
  my $reader_exit = ${^CHILD_ERROR_NATIVE};
  @@ -183,6 +183,8 @@ if (($test_protocol eq "one_to_one") || ($test_protocol eq "kill_writer")) {
  $exit_value = 1; #failure
  print "TestDriver: Setting failure return because of bad exit status ($?) of writer\n";
  }
  + chdir "..";
  + remove_tree($filename);
  exit $exit_value;
  } # end one_to_one and kill_writer protocol
  