Hello community,

here is the log from the commit of package perl-File-Remove for 
openSUSE:Factory checked in at 2011-11-21 12:39:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-File-Remove (Old)
 and      /work/SRC/openSUSE:Factory/.perl-File-Remove.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-File-Remove", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-File-Remove/perl-File-Remove.changes        
2011-09-23 12:37:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-File-Remove.new/perl-File-Remove.changes   
2011-11-21 12:39:58.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Nov 18 11:49:33 UTC 2011 - [email protected]
+
+- update to 1.51
+    - END-time deletion by clear() is now fork-safe, it will only remove
+      paths created in the same process.
+    - Adding a second skip for the known-bad cygwin file permissions problem
+
+-------------------------------------------------------------------

Old:
----
  File-Remove-1.49.tar.gz

New:
----
  File-Remove-1.51.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-File-Remove.spec ++++++
--- /var/tmp/diff_new_pack.rW5phT/_old  2011-11-21 12:39:59.000000000 +0100
+++ /var/tmp/diff_new_pack.rW5phT/_new  2011-11-21 12:40:00.000000000 +0100
@@ -18,15 +18,14 @@
 
 
 Name:           perl-File-Remove
-Version:        1.49
+Version:        1.51
 Release:        5
 License:        GPL+ or Artistic
 %define cpan_name File-Remove
 Summary:        Remove files and directories
 Url:            http://search.cpan.org/dist/File-Remove/
 Group:          Development/Libraries/Perl
-#Source:         
http://www.cpan.org/authors/id/A/AD/ADAMK/File-Remove-%{version}.tar.gz
-Source:         %{cpan_name}-%{version}.tar.gz
+Source:         
http://www.cpan.org/authors/id/A/AD/ADAMK/File-Remove-%{version}.tar.gz
 Patch1:         perl-File-Remove-old_File-Spec.patch
 BuildRequires:  perl(Cwd) >= 3.27.01
 BuildRequires:  perl(File::Spec) >= 3.27.01

++++++ File-Remove-1.49.tar.gz -> File-Remove-1.51.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/Changes new/File-Remove-1.51/Changes
--- old/File-Remove-1.49/Changes        2011-03-14 01:32:09.000000000 +0100
+++ new/File-Remove-1.51/Changes        2011-10-27 02:25:40.000000000 +0200
@@ -1,5 +1,12 @@
 Revision history for Perl extension File-Remove
 
+1.51 Thu 27 Oct 2011 - Adam Kennedy
+       - END-time deletion by clear() is now fork-safe, it will only remove
+         paths created in the same process.
+
+1.50 Mon 11 Jul 2011 - Adam Kennedy
+       - Adding a second skip for the known-bad cygwin file permissions problem
+
 1.49 Wed 14 Mar 2011 - Adam Kennedy
        - Restoring 02_directoreis to no_plan as it runs different test counts
          on different systems.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/MANIFEST 
new/File-Remove-1.51/MANIFEST
--- old/File-Remove-1.49/MANIFEST       2011-03-14 01:32:31.000000000 +0100
+++ new/File-Remove-1.51/MANIFEST       2011-10-27 02:26:14.000000000 +0200
@@ -22,6 +22,7 @@
 t/06_curly.t
 t/07_cwd.t
 t/08_spaces.t
+t/09_fork.t
 xt/meta.t
 xt/pmv.t
 xt/pod.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/META.yml 
new/File-Remove-1.51/META.yml
--- old/File-Remove-1.49/META.yml       2011-03-14 01:32:31.000000000 +0100
+++ new/File-Remove-1.51/META.yml       2011-10-27 02:26:14.000000000 +0200
@@ -3,12 +3,13 @@
 author:
   - 'Adam Kennedy <[email protected]>'
 build_requires:
-  ExtUtils::MakeMaker: 6.42
+  ExtUtils::MakeMaker: 6.36
   Test::More: 0.42
 configure_requires:
-  ExtUtils::MakeMaker: 6.42
+  ExtUtils::MakeMaker: 6.36
 distribution_type: module
-generated_by: 'Module::Install version 1.00'
+dynamic_config: 0
+generated_by: 'Module::Install version 1.04'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -28,4 +29,4 @@
   ChangeLog: http://fisheye2.atlassian.com/changelog/cpan/trunk/File-Remove
   license: http://dev.perl.org/licenses/
   repository: http://svn.ali.as/cpan/trunk/File-Remove
-version: 1.49
+version: 1.51
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/Makefile.PL 
new/File-Remove-1.51/Makefile.PL
--- old/File-Remove-1.49/Makefile.PL    2011-03-14 01:32:09.000000000 +0100
+++ new/File-Remove-1.51/Makefile.PL    2011-10-27 02:25:40.000000000 +0200
@@ -1,4 +1,4 @@
-use inc::Module::Install::DSL 1.00;
+use inc::Module::Install::DSL 1.04;
 
 all_from      lib/File/Remove.pm
 requires_from lib/File/Remove.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/Base.pm 
new/File-Remove-1.51/inc/Module/Install/Base.pm
--- old/File-Remove-1.49/inc/Module/Install/Base.pm     2011-03-14 
01:32:30.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/Base.pm     2011-10-27 
02:26:14.000000000 +0200
@@ -4,7 +4,7 @@
 use strict 'vars';
 use vars qw{$VERSION};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
 }
 
 # Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/Can.pm 
new/File-Remove-1.51/inc/Module/Install/Can.pm
--- old/File-Remove-1.49/inc/Module/Install/Can.pm      2011-03-14 
01:32:31.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/Can.pm      2011-10-27 
02:26:14.000000000 +0200
@@ -9,7 +9,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/DSL.pm 
new/File-Remove-1.51/inc/Module/Install/DSL.pm
--- old/File-Remove-1.49/inc/Module/Install/DSL.pm      2011-03-14 
01:32:30.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/DSL.pm      2011-10-27 
02:26:14.000000000 +0200
@@ -4,7 +4,7 @@
 use strict;
 use vars qw{$VERSION $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        $ISCORE  = 1;
        *inc::Module::Install::DSL::VERSION = *VERSION;
        @inc::Module::Install::DSL::ISA     = __PACKAGE__;
@@ -59,7 +59,8 @@
        my @lines = grep { /\S/ } split /[\012\015]+/, $dsl;
 
        # Each line represents one command
-       my @code = ();
+       my @code   = ();
+       my $static = 1;
        foreach my $line ( @lines ) {
                # Split the lines into tokens
                my @tokens = split /\s+/, $line;
@@ -74,6 +75,10 @@
                                # This is the beginning of a suffix
                                push @suffix, $token;
                                push @suffix, @tokens;
+
+                               # The conditional means this distribution
+                               # can no longer be considered fully static.
+                               $static = 0;
                                last;
                        } else {
                                # Convert to a string
@@ -87,6 +92,9 @@
                push @code, join( ' ', @tokens ) . ";\n";
        }
 
+       # Is our configuration static?
+       push @code, "static_config;\n" if $static;
+
        # Join into the complete code block
        return join( '', @code );
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/Fetch.pm 
new/File-Remove-1.51/inc/Module/Install/Fetch.pm
--- old/File-Remove-1.49/inc/Module/Install/Fetch.pm    2011-03-14 
01:32:31.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/Fetch.pm    2011-10-27 
02:26:14.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/Makefile.pm 
new/File-Remove-1.51/inc/Module/Install/Makefile.pm
--- old/File-Remove-1.49/inc/Module/Install/Makefile.pm 2011-03-14 
01:32:30.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/Makefile.pm 2011-10-27 
02:26:14.000000000 +0200
@@ -8,7 +8,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -219,14 +219,14 @@
                # an underscore, even though its own version may contain one!
                # Hence the funny regexp to get rid of it.  See RT #35800
                # for details.
-               my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
+               my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
                $self->build_requires(     'ExtUtils::MakeMaker' => $v );
                $self->configure_requires( 'ExtUtils::MakeMaker' => $v );
        } else {
                # Allow legacy-compatibility with 5.005 by depending on the
                # most recent EU:MM that supported 5.005.
-               $self->build_requires(     'ExtUtils::MakeMaker' => 6.42 );
-               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
+               $self->build_requires(     'ExtUtils::MakeMaker' => 6.36 );
+               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
        }
 
        # Generate the MakeMaker params
@@ -241,7 +241,6 @@
 'all_from' if you prefer) in Makefile.PL.
 EOT
 
-       $DB::single = 1;
        if ( $self->tests ) {
                my @tests = split ' ', $self->tests;
                my %seen;
@@ -412,4 +411,4 @@
 
 __END__
 
-#line 541
+#line 540
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/Metadata.pm 
new/File-Remove-1.51/inc/Module/Install/Metadata.pm
--- old/File-Remove-1.49/inc/Module/Install/Metadata.pm 2011-03-14 
01:32:30.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/Metadata.pm 2011-10-27 
02:26:14.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -151,15 +151,21 @@
 sub install_as_vendor { $_[0]->installdirs('vendor') }
 
 sub dynamic_config {
-       my $self = shift;
-       unless ( @_ ) {
-               warn "You MUST provide an explicit true/false value to 
dynamic_config\n";
-               return $self;
+       my $self  = shift;
+       my $value = @_ ? shift : 1;
+       if ( $self->{values}->{dynamic_config} ) {
+               # Once dynamic we never change to static, for safety
+               return 0;
        }
-       $self->{values}->{dynamic_config} = $_[0] ? 1 : 0;
+       $self->{values}->{dynamic_config} = $value ? 1 : 0;
        return 1;
 }
 
+# Convenience command
+sub static_config {
+       shift->dynamic_config(0);
+}
+
 sub perl_version {
        my $self = shift;
        return $self->{values}->{perl_version} unless @_;
@@ -170,7 +176,7 @@
        # Normalize the version
        $version = $self->_perl_version($version);
 
-       # We don't support the reall old versions
+       # We don't support the really old versions
        unless ( $version >= 5.005 ) {
                die "Module::Install only supports 5.005 or newer (use 
ExtUtils::MakeMaker)\n";
        }
@@ -515,6 +521,7 @@
                'GNU Free Documentation license'     => 'unrestricted', 1,
                'GNU Affero General Public License'  => 'open_source',  1,
                '(?:Free)?BSD license'               => 'bsd',          1,
+               'Artistic license 2\.0'              => 'artistic_2',   1,
                'Artistic license'                   => 'artistic',     1,
                'Apache (?:Software )?license'       => 'apache',       1,
                'GPL'                                => 'gpl',          1,
@@ -550,9 +557,9 @@
 
 sub _extract_bugtracker {
        my @links   = $_[0] =~ m#L<(
-        \Qhttp://rt.cpan.org/\E[^>]+|
-        \Qhttp://github.com/\E[\w_]+/[\w_]+/issues|
-        \Qhttp://code.google.com/p/\E[\w_\-]+/issues/list
+        https?\Q://rt.cpan.org/\E[^>]+|
+        https?\Q://github.com/\E[\w_]+/[\w_]+/issues|
+        https?\Q://code.google.com/p/\E[\w_\-]+/issues/list
         )>#gx;
        my %links;
        @links{@links}=();
@@ -581,7 +588,7 @@
 sub requires_from {
        my $self     = shift;
        my $content  = Module::Install::_readperl($_[0]);
-       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
        while ( @requires ) {
                my $module  = shift @requires;
                my $version = shift @requires;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/Win32.pm 
new/File-Remove-1.51/inc/Module/Install/Win32.pm
--- old/File-Remove-1.49/inc/Module/Install/Win32.pm    2011-03-14 
01:32:31.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/Win32.pm    2011-10-27 
02:26:14.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install/WriteAll.pm 
new/File-Remove-1.51/inc/Module/Install/WriteAll.pm
--- old/File-Remove-1.49/inc/Module/Install/WriteAll.pm 2011-03-14 
01:32:31.000000000 +0100
+++ new/File-Remove-1.51/inc/Module/Install/WriteAll.pm 2011-10-27 
02:26:14.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/inc/Module/Install.pm 
new/File-Remove-1.51/inc/Module/Install.pm
--- old/File-Remove-1.49/inc/Module/Install.pm  2011-03-14 01:32:30.000000000 
+0100
+++ new/File-Remove-1.51/inc/Module/Install.pm  2011-10-27 02:26:13.000000000 
+0200
@@ -31,7 +31,7 @@
        # This is not enforced yet, but will be some time in the next few
        # releases once we can make sure it won't clash with custom
        # Module::Install extensions.
-       $VERSION = '1.00';
+       $VERSION = '1.04';
 
        # Storage for the pseudo-singleton
        $MAIN    = undef;
@@ -451,7 +451,7 @@
 }
 
 sub _cmp ($$) {
-       _version($_[0]) <=> _version($_[1]);
+       _version($_[1]) <=> _version($_[2]);
 }
 
 # Cloned from Params::Util::_CLASS
@@ -467,4 +467,4 @@
 
 1;
 
-# Copyright 2008 - 2010 Adam Kennedy.
+# Copyright 2008 - 2011 Adam Kennedy.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/lib/File/Remove.pm 
new/File-Remove-1.51/lib/File/Remove.pm
--- old/File-Remove-1.49/lib/File/Remove.pm     2011-03-14 01:32:09.000000000 
+0100
+++ new/File-Remove-1.51/lib/File/Remove.pm     2011-10-27 02:25:40.000000000 
+0200
@@ -6,24 +6,17 @@
 use vars qw{ $VERSION @ISA @EXPORT_OK };
 use vars qw{ $DEBUG $unlink $rmdir    };
 BEGIN {
-       $VERSION   = '1.49';
+       $VERSION   = '1.51';
        # $VERSION   = eval $VERSION;
        @ISA       = qw{ Exporter };
        @EXPORT_OK = qw{ remove rm clear trash };
 }
 
-# If we ever need a Mac::Glue object we will want to cache it.
-my $glue;
-
 use File::Path ();
 use File::Glob ();
 use File::Spec 3.2701 ();
 use Cwd        3.2701 ();
 
-sub expand (@) {
-       map { -e $_ ? $_ : File::Glob::bsd_glob($_) } @_;
-}
-
 # $debug variable must be set before loading File::Remove.
 # Convert to a constant to allow debugging code to be pruned out.
 use constant DEBUG    => !! $DEBUG;
@@ -40,6 +33,9 @@
 # If so write permissions does not imply deletion permissions
 use constant IS_WIN32 => !! ( $^O =~ /^MSWin/ or $^O eq 'cygwin' );
 
+# If we ever need a Mac::Glue object we will want to cache it.
+my $glue;
+
 
 
 
@@ -47,7 +43,7 @@
 #####################################################################
 # Main Functions
 
-my @END_DELETE = ();
+my @CLEANUP = ();
 
 sub clear (@) {
        my @files = expand( @_ );
@@ -58,18 +54,22 @@
                remove( \1, $file );
        }
 
-       # Delete again at END-time
-       push @END_DELETE, @files;
+       # Delete again at END-time.
+       # Save the current PID so that forked children
+       # won't delete things that the parent expects to
+       # live until their end-time.
+       push @CLEANUP, map { [ $$, $_ ] } @files;
 }
 
 END {
-       foreach my $file ( @END_DELETE ) {
-               next unless -e $file;
-               remove( \1, $file );
+       foreach my $file ( @CLEANUP ) {
+               next unless $file->[0] == $$;
+               next unless -e $file->[1];
+               remove( \1, $file->[1] );
        }
 }
 
-# acts like unlink would until given a directory as an argument, then
+# Acts like unlink would until given a directory as an argument, then
 # it acts like rm -rf ;) unless the recursive arg is zero which it is by
 # default
 sub remove (@) {
@@ -223,6 +223,10 @@
 ######################################################################
 # Support Functions
 
+sub expand (@) {
+       map { -e $_ ? $_ : File::Glob::bsd_glob($_) } @_;
+}
+
 # Do we need to move to a different directory to delete a directory,
 # and if so which.
 sub _moveto {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/t/01_compile.t 
new/File-Remove-1.51/t/01_compile.t
--- old/File-Remove-1.49/t/01_compile.t 2011-03-14 01:32:09.000000000 +0100
+++ new/File-Remove-1.51/t/01_compile.t 2011-10-27 02:25:40.000000000 +0200
@@ -8,8 +8,6 @@
        $^W = 1;
 }
 
-use Test::More tests => 2;
-
-ok( $] >= 5.00503, "Your perl is new enough" );
+use Test::More tests => 1;
 
 use_ok( 'File::Remove' );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/t/04_can_delete.t 
new/File-Remove-1.51/t/04_can_delete.t
--- old/File-Remove-1.49/t/04_can_delete.t      2011-03-14 01:32:09.000000000 
+0100
+++ new/File-Remove-1.51/t/04_can_delete.t      2011-10-27 02:25:40.000000000 
+0200
@@ -44,7 +44,10 @@
                if ( $^O ne 'MSWin32' and $< == 0 ) {
                        skip("This test doesn't work as root", 1);
                }
-               ok( ! -w $f3, "Created $f3 ! -w" );     
+               if ( $^O eq 'cygwin' ) {
+                       skip("Fails on some cygwin and shouldn't prevent 
install",1);
+               }
+               ok( ! -w $f3, "Created $f3 ! -w" );
        };
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/t/05_links.t 
new/File-Remove-1.51/t/05_links.t
--- old/File-Remove-1.49/t/05_links.t   2011-03-14 01:32:09.000000000 +0100
+++ new/File-Remove-1.51/t/05_links.t   2011-10-27 02:25:40.000000000 +0200
@@ -11,7 +11,7 @@
 use File::Remove ();
 
 unless( eval { symlink("",""); 1 } ) {
-       plan("skip_all" => "Operating system does not support Unix-like 
symlinks");
+       plan("skip_all" => "No Unix-like symlinks");
        exit(0);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/File-Remove-1.49/t/09_fork.t 
new/File-Remove-1.51/t/09_fork.t
--- old/File-Remove-1.49/t/09_fork.t    1970-01-01 01:00:00.000000000 +0100
+++ new/File-Remove-1.51/t/09_fork.t    2011-10-27 02:25:40.000000000 +0200
@@ -0,0 +1,47 @@
+#!/usr/bin/perl
+
+# Ensure that we don't prematurely END-time delete due to forking
+
+use strict;
+BEGIN {
+       $|  = 1;
+       $^W = 1;
+}
+
+use Test::More tests => 8;
+use File::Spec::Functions ':ALL';
+use File::Remove ();
+
+# Create a directory
+my $parent = catdir( 't', '09_fork_parent' );
+my $child  = catdir( 't', '09_fork_child'  );
+File::Remove::clear($parent);
+File::Remove::remove($child);
+ok( ! -d $parent, 'Parent directory does not exist' );
+ok( ! -d $child,  'Child directory does not exist'  );
+ok( mkdir( $parent, 0777 ), 'Created directory' );
+ok( -d $parent, 'Directory exists' );
+
+# Fork the test
+my $pid = fork();
+unless ( $pid ) {
+       # Create a child-owned directory and flag for deletion
+       File::Remove::clear($child);
+       mkdir( $child, 0777 );
+       sleep(2);
+
+       # Exit from the child to stimulate END-time code
+       exit(0);
+}
+
+# In the parent, wait 1 second for process to spawn
+# and create the child directory
+sleep(1);
+ok( -d $child, 'Child directory created (by forked child)' );
+
+# Wait for the child to exit
+my $caught = wait();
+is( $pid, $caught, 'The child exited' );
+sleep(1); # Give a chance for flakey windows to delete directory
+ok( -d $parent, 'Parent directory still exists' );
+ok( ! -d $child, 'Child directory is removed' );

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to