Avoid false negatives on Win32 with Shell.t tests.
authorGeorge Greer <perl@greerga.m-l.org>
Sat, 3 Oct 2009 00:12:08 +0000 (20:12 -0400)
committerSteve Hay <SteveHay@planit.com>
Sat, 3 Oct 2009 12:52:32 +0000 (13:52 +0100)
On DOS and Windows, the 'dir' command includes the number of bytes free on
the filesystem so when t/Shell.t tries to compare two different 'dir' outputs
the test can fail because of other, unrelated activity on the filesystem.

Message-ID: alpine.LFD.2.00.0910022024380.18604@ein.m-l.org

cpan/Shell/t/Shell.t

index 1ebc861..cc6f616 100644 (file)
@@ -46,10 +46,10 @@ if ($Is_VMS) {
     ok(!$@, '2 methods calls');
 } elsif ($Is_MSWin32) {
     ok(dir(), 'Execute command');
-    my @files = dir('*.*');
+    my @files = grep !/bytes free$/, dir('*.*');
     ok(@files, 'Quoted arguments');
 
-    ok(eq_array(\@files, [$so->dir('*.*')]), 'object method');
+    ok(eq_array(\@files, [grep !/bytes free$/, $so->dir('*.*')]), 'object method');
     eval { $so->dir };
     ok(!$@, '2 methods calls');
 } else {