#!perl
{
my
$t
= Pinto::Tester->new;
$t
->path_exists_ok( [
qw(stacks master)
] );
my
$archive
= make_dist_archive(
'Dist-1=PkgA~1'
);
$t
->run_ok(
Add
=> {
archives
=>
$archive
,
author
=>
'JOHN'
,
recurse
=> 0 } );
$t
->registration_ok(
'JOHN/Dist-1/PkgA~1/master'
);
$t
->run_ok(
Copy
=> {
from_stack
=>
'master'
,
to_stack
=>
'dev'
,
default
=> 1 } );
$t
->registration_ok(
'JOHN/Dist-1/PkgA~1/dev'
);
$t
->stack_is_default_ok(
'dev'
);
$t
->run_ok(
Kill
=> {
stack
=>
'master'
} );
$t
->stack_not_exists_ok(
'master'
);
$t
->registration_ok(
'JOHN/Dist-1/PkgA~1/dev'
);
}
{
my
$t
= Pinto::Tester->new;
$t
->stack_is_default_ok(
'master'
);
$t
->run_throws_ok(
Kill
=> {
stack
=>
'master'
},
qr/Cannot kill the default stack/
,
'Killing default stack throws exception'
);
$t
->stack_exists_ok(
'master'
);
}
{
my
$t
= Pinto::Tester->new(
init_args
=> {
no_default
=> 1 } );
$t
->no_default_stack_ok;
$t
->run_ok(
Lock
=> {
stack
=>
'master'
} );
$t
->stack_is_locked_ok(
'master'
);
$t
->run_throws_ok(
Kill
=> {
stack
=>
'master'
},
qr/is locked/
,
'Killing locked stack throws exception'
);
$t
->stack_exists_ok(
'master'
);
$t
->run_ok(
Kill
=> {
stack
=>
'master'
,
force
=> 1 } );
$t
->stack_not_exists_ok(
'master'
);
}
done_testing;