@@ -13,21 +13,27 @@ use File::Temp qw/tempfile tempdir/;
1313
1414note " -------------- REAL MODE --------------" ;
1515my $temp_dir = tempdir( CLEANUP => 1 );
16+ ok( -d $temp_dir , " $temp_dir is there" );
1617$! = 0;
1718is( unlink ($temp_dir ), 0, " unlink on a dir fails" );
1819my $unlink_dir_errorno = $! + 0;
20+ SKIP: {
21+ skip q{ This docker container doesn't emit $! failures reliably.} , 1 if on_broken_docker();
22+ ok( $unlink_dir_errorno , " unlink /dir is non-zero ($unlink_dir_errorno )" );
23+ }
1924
2025use Test::MockFile ();
2126
2227note " -------------- MOCK MODE --------------" ;
2328my @mock ;
2429my $file = Test::MockFile-> file( ' /file' , " " );
25- my $dir = Test::MockFile-> dir( ' /dir' , [] );
30+ my $dir = Test::MockFile-> dir( ' /dir' , [] );
2631my $link = Test::MockFile-> symlink ( ' /link' , ' /tonowhere' );
2732
2833is( $link -> unlink , 1, " unlink /link works." );
2934is( $link -> exists , 0, " /link is now gone" );
30- {
35+ SKIP: {
36+ skip q{ This docker container doesn't emit $! failures reliably.} , 2 if on_broken_docker();
3137 local $! ;
3238 is( $dir -> unlink , 0, " unlink /dir doesn't work." );
3339 is( $! + 0, $unlink_dir_errorno , " ... and throws a \$\! " );
@@ -61,3 +67,9 @@ is( $file->atime, 1234, "atime is set to 1234." ) or diag $file->atime;
6167
6268done_testing();
6369exit ;
70+
71+ sub on_broken_docker {
72+ return 0 if $] > 5.019;
73+ return 0 unless -f ' /.dockerenv' ;
74+ return 1;
75+ }
0 commit comments