Blame t/rmtree.t

Packit a89ea5
#!/usr/bin/perl
Packit a89ea5
Packit a89ea5
use Test::More tests => 1;
Packit a89ea5
Packit a89ea5
use File::Spec;
Packit a89ea5
use File::Path;
Packit a89ea5
use File::Temp;
Packit a89ea5
Packit a89ea5
rmtree "testing";
Packit a89ea5
mkdir "testing" or die "mkdir failed: $!";
Packit a89ea5
chdir "testing";
Packit a89ea5
mkdir "tmp" or die "mkdir failed: $!";
Packit a89ea5
Packit a89ea5
my $tempdirstr;
Packit a89ea5
{
Packit a89ea5
    my $dir = File::Temp->newdir( DIR => "tmp" );
Packit a89ea5
    $tempdirstr = "$dir";
Packit a89ea5
Packit a89ea5
    mkdir "hide" or die "mkdir failed: $!";
Packit a89ea5
    chdir "hide";
Packit a89ea5
}
Packit a89ea5
Packit a89ea5
chdir File::Spec->updir;
Packit a89ea5
$tempdirstr = File::Spec->rel2abs($tempdirstr);
Packit a89ea5
ok !-d $tempdirstr or diag dircontent("tmp", $tempdirstr);
Packit a89ea5
Packit a89ea5
# cleanup
Packit a89ea5
chdir File::Spec->updir;
Packit a89ea5
rmtree( "testing" );
Packit a89ea5
Packit a89ea5
exit;
Packit a89ea5
Packit a89ea5
sub dircontent {
Packit a89ea5
  my $dir = shift;
Packit a89ea5
  my $tempdirstr = shift;
Packit a89ea5
  my $str = "Contents of $dir (should not contain \"$tempdirstr\"):\n";
Packit a89ea5
  opendir(my $DH, $dir) or die "opendir failed; $!";
Packit a89ea5
  my @contents = grep { $_ !~ /^\.+/; } readdir($DH);
Packit a89ea5
  closedir($DH);
Packit a89ea5
  for my $ls (@contents) {
Packit a89ea5
    $str .= "  $ls\n";
Packit a89ea5
  }
Packit a89ea5
  return $str;
Packit a89ea5
}