Test stow/unstow with stow dir / target dir as absolute paths.
This commit is contained in:
parent
4d45d3e0c7
commit
2244539b6b
3 changed files with 129 additions and 9 deletions
|
@ -7,10 +7,11 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More tests => 19;
|
||||
use Test::More tests => 23;
|
||||
use Test::Output;
|
||||
use English qw(-no_match_vars);
|
||||
|
||||
use Stow::Util qw(canon_path);
|
||||
use testutil;
|
||||
|
||||
make_fresh_stow_and_target_dirs();
|
||||
|
@ -303,5 +304,43 @@ is($stow->get_conflicts(), 0, 'no conflicts with minimal stow');
|
|||
is(
|
||||
readlink('t/target/bin16'),
|
||||
'../stow/pkg16/bin16',
|
||||
=> 'minimal stow of a simple tree'
|
||||
=> "minimal stow of a simple tree when cwd isn't target"
|
||||
);
|
||||
|
||||
#
|
||||
# stow a simple tree minimally to absolute stow dir when cwd isn't
|
||||
# target
|
||||
#
|
||||
$stow = new_Stow(dir => canon_path('t/stow'),
|
||||
target => 't/target');
|
||||
|
||||
make_dir('t/stow/pkg17/bin17');
|
||||
make_file('t/stow/pkg17/bin17/file17');
|
||||
|
||||
$stow->plan_stow('pkg17');
|
||||
$stow->process_tasks();
|
||||
is($stow->get_conflicts(), 0, 'no conflicts with minimal stow');
|
||||
is(
|
||||
readlink('t/target/bin17'),
|
||||
'../stow/pkg17/bin17',
|
||||
=> "minimal stow of a simple tree with absolute stow dir"
|
||||
);
|
||||
|
||||
#
|
||||
# stow a simple tree minimally with absolute stow AND target dirs when
|
||||
# cwd isn't target
|
||||
#
|
||||
$stow = new_Stow(dir => canon_path('t/stow'),
|
||||
target => canon_path('t/target'));
|
||||
|
||||
make_dir('t/stow/pkg18/bin18');
|
||||
make_file('t/stow/pkg18/bin18/file18');
|
||||
|
||||
$stow->plan_stow('pkg18');
|
||||
$stow->process_tasks();
|
||||
is($stow->get_conflicts(), 0, 'no conflicts with minimal stow');
|
||||
is(
|
||||
readlink('t/target/bin18'),
|
||||
'../stow/pkg18/bin18',
|
||||
=> "minimal stow of a simple tree with absolute stow and target dirs"
|
||||
);
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use testutil;
|
||||
|
||||
use Test::More tests => 21;
|
||||
use Test::More tests => 23;
|
||||
use Test::Output;
|
||||
use English qw(-no_match_vars);
|
||||
|
||||
use testutil;
|
||||
use Stow::Util qw(canon_path);
|
||||
|
||||
make_fresh_stow_and_target_dirs();
|
||||
cd('t/target');
|
||||
|
||||
|
@ -324,6 +325,44 @@ ok(
|
|||
=> 'unstow a simple tree'
|
||||
);
|
||||
|
||||
#
|
||||
# unstow a simple tree minimally with absolute stow dir when cwd isn't
|
||||
# target
|
||||
#
|
||||
$stow = new_Stow(dir => canon_path('t/stow'),
|
||||
target => 't/target');
|
||||
|
||||
make_dir('t/stow/pkg14/bin14');
|
||||
make_file('t/stow/pkg14/bin14/file14');
|
||||
make_link('t/target/bin14', '../stow/pkg14/bin14');
|
||||
|
||||
$stow->plan_unstow('pkg14');
|
||||
$stow->process_tasks();
|
||||
ok(
|
||||
scalar($stow->get_conflicts) == 0 &&
|
||||
-f 't/stow/pkg14/bin14/file14' && ! -e 't/target/bin14'
|
||||
=> 'unstow a simple tree with absolute stow dir'
|
||||
);
|
||||
|
||||
#
|
||||
# unstow a simple tree minimally with absolute stow AND target dirs
|
||||
# when cwd isn't target
|
||||
#
|
||||
$stow = new_Stow(dir => canon_path('t/stow'),
|
||||
target => canon_path('t/target'));
|
||||
|
||||
make_dir('t/stow/pkg15/bin15');
|
||||
make_file('t/stow/pkg15/bin15/file15');
|
||||
make_link('t/target/bin15', '../stow/pkg15/bin15');
|
||||
|
||||
$stow->plan_unstow('pkg15');
|
||||
$stow->process_tasks();
|
||||
ok(
|
||||
scalar($stow->get_conflicts) == 0 &&
|
||||
-f 't/stow/pkg15/bin15/file15' && ! -e 't/target/bin15'
|
||||
=> 'unstow a simple tree with absolute stow and target dirs'
|
||||
);
|
||||
|
||||
|
||||
# Todo
|
||||
#
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use testutil;
|
||||
|
||||
use Test::More tests => 21;
|
||||
use Test::More tests => 23;
|
||||
use Test::Output;
|
||||
use English qw(-no_match_vars);
|
||||
|
||||
use testutil;
|
||||
use Stow::Util qw(canon_path);
|
||||
|
||||
make_fresh_stow_and_target_dirs();
|
||||
cd('t/target');
|
||||
|
||||
|
@ -106,6 +107,9 @@ make_dir('../stow/pkg5/bin5');
|
|||
make_link('bin5', '../not-stow');
|
||||
|
||||
$stow->plan_unstow('pkg5');
|
||||
# Unlike the corresponding stow_contents.t test, this doesn't
|
||||
# cause any conflicts.
|
||||
#
|
||||
#like(
|
||||
# $Conflicts[-1], qr(CONFLICT:.*can't unlink.*not owned by stow)
|
||||
# => q(existing link not owned by stow)
|
||||
|
@ -328,6 +332,44 @@ ok(
|
|||
=> 'unstow a simple tree'
|
||||
);
|
||||
|
||||
#
|
||||
# unstow a simple tree minimally with absolute stow dir when cwd isn't
|
||||
# target
|
||||
#
|
||||
$stow = new_Stow(dir => canon_path('t/stow'),
|
||||
target => 't/target');
|
||||
|
||||
make_dir('t/stow/pkg14/bin14');
|
||||
make_file('t/stow/pkg14/bin14/file14');
|
||||
make_link('t/target/bin14', '../stow/pkg14/bin14');
|
||||
|
||||
$stow->plan_unstow('pkg14');
|
||||
$stow->process_tasks();
|
||||
ok(
|
||||
scalar($stow->get_conflicts) == 0 &&
|
||||
-f 't/stow/pkg14/bin14/file14' && ! -e 't/target/bin14'
|
||||
=> 'unstow a simple tree with absolute stow dir'
|
||||
);
|
||||
|
||||
#
|
||||
# unstow a simple tree minimally with absolute stow AND target dirs
|
||||
# when cwd isn't target
|
||||
#
|
||||
$stow = new_Stow(dir => canon_path('t/stow'),
|
||||
target => canon_path('t/target'));
|
||||
|
||||
make_dir('t/stow/pkg15/bin15');
|
||||
make_file('t/stow/pkg15/bin15/file15');
|
||||
make_link('t/target/bin15', '../stow/pkg15/bin15');
|
||||
|
||||
$stow->plan_unstow('pkg15');
|
||||
$stow->process_tasks();
|
||||
ok(
|
||||
scalar($stow->get_conflicts) == 0 &&
|
||||
-f 't/stow/pkg15/bin15/file15' && ! -e 't/target/bin15'
|
||||
=> 'unstow a simple tree with absolute stow and target dirs'
|
||||
);
|
||||
|
||||
|
||||
# Todo
|
||||
#
|
||||
|
|
Loading…
Reference in a new issue