From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use strict;
use Test::More 0.88;
use Test::DZil qw(Builder simple_ini);
use Test::Fatal qw(exception);
{
my $tzil = Builder->from_config(
{ dist_root => 'corpus/dist/DZT' },
{
add_files => {
'source/dist.ini' => simple_ini(qw(GatherDir FakeRelease)),
},
},
);
$tzil->release;
ok(
grep({ /fake release happen/i } @{ $tzil->log_messages }),
"we log a fake release when we fake release",
);
}
{
my $tzil = Builder->from_config(
{ dist_root => 'corpus/dist/DZT' },
{
add_files => {
'source/dist.ini' => simple_ini(
[ '@Filter' => {
bundle => '@FakeClassic',
remove => 'ConfirmRelease',
} ]
),
},
},
);
$tzil->release;
ok(
grep({ /fake release happen/i } @{ $tzil->log_messages }),
"we log a fake release when we fake release",
);
}
{
like( exception {
my $tzil = Builder->from_config(
{ dist_root => 'corpus/dist/DZT' },
{
add_files => {
'source/dist.ini' => simple_ini(qw(GatherDir FakeRelease)),
},
},
);
local $ENV{DZIL_FAKERELEASE_FAIL} = 1;
$tzil->release;
},
qr/DZIL_FAKERELEASE_FAIL set, aborting/i,
"we can make FakeRelease fail when we want!"
);
}
done_testing;