Skip to content

Commit 24edcb5

Browse files
committed
Work arounds for github docker testing failures
Perl/docker-perl#78
1 parent 83ea491 commit 24edcb5

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

t/touch.t

+14-2
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,27 @@ use File::Temp qw/tempfile tempdir/;
1313

1414
note "-------------- REAL MODE --------------";
1515
my $temp_dir = tempdir( CLEANUP => 1 );
16+
ok( -d $temp_dir, "$temp_dir is there" );
1617
$! = 0;
1718
is( unlink($temp_dir), 0, "unlink on a dir fails" );
1819
my $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

2025
use Test::MockFile ();
2126

2227
note "-------------- MOCK MODE --------------";
2328
my @mock;
2429
my $file = Test::MockFile->file( '/file', "" );
25-
my $dir = Test::MockFile->dir( '/dir', [] );
30+
my $dir = Test::MockFile->dir( '/dir', [] );
2631
my $link = Test::MockFile->symlink( '/link', '/tonowhere' );
2732

2833
is( $link->unlink, 1, "unlink /link works." );
2934
is( $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

6268
done_testing();
6369
exit;
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

Comments
 (0)