Index: t/distro/file_metadata.t
===================================================================
--- t/distro/file_metadata.t	(revision 18944)
+++ t/distro/file_metadata.t	(working copy)
@@ -8,7 +8,8 @@
 
 use Test::More;
 use File::Basename qw( fileparse );
-use File::Spec::Functions qw( catfile );
+use File::Spec::Functions qw( catfile splitpath );
+use File::Spec::Unix;
 use Parrot::Config;
 use Parrot::Revision;
 use ExtUtils::Manifest qw( maniread );
@@ -270,13 +271,17 @@
 
                 # This RE may be a little wonky.
                 if ( $result =~ m{(.*) - (.*)} ) {
-                    my ( $file, $attribute ) = ( $1, $2 );
+                    my ( $full_path, $attribute ) = ( $1, $2 );
 
-                    # file names are reported with backslashes on Windows,
-                    # but we want forward slashes
-                    $file =~ s!\\!/!g if $^O eq 'MSWin32';
+                    # split the path
+                    my ( $volume, $directories, $file ) = 
+                        splitpath $full_path;
 
-                    $results{$file} = $attribute;
+                    # put it back together as a unix path (to match MANIFEST)
+                    $full_path = File::Spec::Unix->catpath( $volume, $directories, $file );
+
+                    # store the attribute into the results hash
+                    $results{$full_path} = $attribute;
                 }
             }
 
