Use get_conflict_count() in tests since get_conflicts() no longer returns a flat structure.

This commit is contained in:
Adam Spiers 2012-01-09 18:32:06 +00:00
parent 1200420687
commit 4dce3d0ce8
5 changed files with 42 additions and 42 deletions

View file

@ -46,7 +46,7 @@ make_link('bin2/file2b', '../../stow/pkg2/bin2/file2b');
$stow = new_Stow(); $stow = new_Stow();
$stow->cleanup_invalid_links('bin2'); $stow->cleanup_invalid_links('bin2');
is(scalar($stow->get_conflicts), 0, 'no conflicts cleaning up bad link'); is($stow->get_conflict_count, 0, 'no conflicts cleaning up bad link');
is(scalar($stow->get_tasks), 1, 'one task cleaning up bad link'); is(scalar($stow->get_tasks), 1, 'one task cleaning up bad link');
is($stow->link_task_action('bin2/file2b'), 'remove', 'removal task for bad link'); is($stow->link_task_action('bin2/file2b'), 'remove', 'removal task for bad link');
@ -62,5 +62,5 @@ make_link('bin3/file3b', '../../empty');
$stow = new_Stow(); $stow = new_Stow();
$stow->cleanup_invalid_links('bin3'); $stow->cleanup_invalid_links('bin3');
is(scalar($stow->get_conflicts), 0, 'no conflicts cleaning up bad link not owned by stow'); is($stow->get_conflict_count, 0, 'no conflicts cleaning up bad link not owned by stow');
is(scalar($stow->get_tasks), 0, 'no tasks cleaning up bad link not owned by stow'); is(scalar($stow->get_tasks), 0, 'no tasks cleaning up bad link not owned by stow');

View file

@ -54,7 +54,7 @@ $stow = new_Stow(dir => 'stow');
$stow->plan_stow('perl'); $stow->plan_stow('perl');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'bin' && -l 'info' && -l 'lib' && -l 'man' && -l 'bin' && -l 'info' && -l 'lib' && -l 'man' &&
readlink('bin') eq 'stow/perl/bin' && readlink('bin') eq 'stow/perl/bin' &&
readlink('info') eq 'stow/perl/info' && readlink('info') eq 'stow/perl/info' &&
@ -81,7 +81,7 @@ $stow = new_Stow(dir => 'stow');
$stow->plan_stow('perl'); $stow->plan_stow('perl');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-d 'bin' && -d 'lib' && -d 'man' && -d 'man/man1' && -d 'bin' && -d 'lib' && -d 'man' && -d 'man/man1' &&
-l 'info' && -l 'bin/perl' && -l 'bin/a2p' && -l 'info' && -l 'bin/perl' && -l 'bin/a2p' &&
-l 'lib/perl' && -l 'man/man1/perl.1' && -l 'lib/perl' && -l 'man/man1/perl.1' &&
@ -107,7 +107,7 @@ remove_dir('man');
$stow = new_Stow(dir => 'stow'); $stow = new_Stow(dir => 'stow');
$stow->plan_stow('perl', 'emacs'); $stow->plan_stow('perl', 'emacs');
$stow->process_tasks(); $stow->process_tasks();
is(scalar($stow->get_conflicts), 0, 'no conflicts'); is($stow->get_conflict_count, 0, 'no conflicts');
ok( ok(
-d 'bin' && -d 'bin' &&
-l 'bin/perl' && -l 'bin/perl' &&
@ -157,7 +157,7 @@ $stow = new_Stow(dir => 'stow');
$stow->plan_stow('pkg1a', 'pkg1b'); $stow->plan_stow('pkg1a', 'pkg1b');
$stow->plan_unstow('pkg1b'); $stow->plan_unstow('pkg1b');
$stow->process_tasks(); $stow->process_tasks();
is(scalar($stow->get_conflicts), 0, 'no conflicts stowing empty dirs'); is($stow->get_conflict_count, 0, 'no conflicts stowing empty dirs');
ok(-d 'bin1' => 'bug 1: stowing empty dirs'); ok(-d 'bin1' => 'bug 1: stowing empty dirs');
# #
@ -177,7 +177,7 @@ $stow->set_stow_dir('stow2b');
$stow->plan_stow('pkg2b'); $stow->plan_stow('pkg2b');
$stow->process_tasks(); $stow->process_tasks();
is(scalar($stow->get_conflicts), 0, 'no conflicts splitting tree-folding symlinks'); is($stow->get_conflict_count, 0, 'no conflicts splitting tree-folding symlinks');
ok(-d 'bin2' => 'tree got split by packages from multiple stow directories'); ok(-d 'bin2' => 'tree got split by packages from multiple stow directories');
ok(-f 'bin2/file2a' => 'file from 1st stow dir'); ok(-f 'bin2/file2a' => 'file from 1st stow dir');
ok(-f 'bin2/file2b' => 'file from 2nd stow dir'); ok(-f 'bin2/file2b' => 'file from 2nd stow dir');

View file

@ -157,7 +157,7 @@ make_file('../stow/pkg8b/0/file8b');
$stow->plan_stow('pkg8b'); $stow->plan_stow('pkg8b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-d '0' && -d '0' &&
readlink('0/file8a') eq '../../stow/pkg8a/0/file8a' && readlink('0/file8a') eq '../../stow/pkg8a/0/file8a' &&
readlink('0/file8b') eq '../../stow/pkg8b/0/file8b' readlink('0/file8b') eq '../../stow/pkg8b/0/file8b'
@ -179,7 +179,7 @@ make_file('../stow/pkg9b/man9/man1/file9.1');
$stow->plan_stow('pkg9b'); $stow->plan_stow('pkg9b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('man9/man1/file9.1') eq '../../../stow/pkg9b/man9/man1/file9.1' readlink('man9/man1/file9.1') eq '../../../stow/pkg9b/man9/man1/file9.1'
=> 'overriding existing documentation files' => 'overriding existing documentation files'
); );
@ -204,7 +204,7 @@ stderr_like(
'no tasks to process' 'no tasks to process'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('man10/man1/file10.1') eq '../../../stow/pkg10a/man10/man1/file10.1' readlink('man10/man1/file10.1') eq '../../../stow/pkg10a/man10/man1/file10.1'
=> 'defer to existing documentation files' => 'defer to existing documentation files'
); );
@ -223,7 +223,7 @@ make_dir('man11/man1');
$stow->plan_stow('pkg11'); $stow->plan_stow('pkg11');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('man11/man1/file11.1') eq '../../../stow/pkg11/man11/man1/file11.1' && readlink('man11/man1/file11.1') eq '../../../stow/pkg11/man11/man1/file11.1' &&
!-e 'man11/man1/file11.1~' && !-e 'man11/man1/file11.1~' &&
!-e 'man11/man1/.#file11.1' !-e 'man11/man1/.#file11.1'
@ -243,7 +243,7 @@ make_dir('lib12/');
$stow->plan_stow('pkg12'); $stow->plan_stow('pkg12');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('lib12/lib.so.1') eq '../../stow/pkg12/lib12/lib.so.1' readlink('lib12/lib.so.1') eq '../../stow/pkg12/lib12/lib.so.1'
=> 'stow links to libraries' => 'stow links to libraries'
); );
@ -265,7 +265,7 @@ make_link('../stow/pkg13b/lib13/libb.so.1', 'libb.so');
$stow->plan_stow('pkg13b'); $stow->plan_stow('pkg13b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('lib13/liba.so.1') eq '../../stow/pkg13a/lib13/liba.so.1' && readlink('lib13/liba.so.1') eq '../../stow/pkg13a/lib13/liba.so.1' &&
readlink('lib13/libb.so.1') eq '../../stow/pkg13b/lib13/libb.so.1' readlink('lib13/libb.so.1') eq '../../stow/pkg13b/lib13/libb.so.1'
=> 'unfolding to stow links to libraries' => 'unfolding to stow links to libraries'
@ -287,7 +287,7 @@ stderr_like(
'no tasks to process' 'no tasks to process'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
! -l 'stow/pkg15' ! -l 'stow/pkg15'
=> "stowing to stow dir should fail" => "stowing to stow dir should fail"
); );

View file

@ -34,7 +34,7 @@ make_link('bin1', '../stow/pkg1/bin1');
$stow->plan_unstow('pkg1'); $stow->plan_unstow('pkg1');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f '../stow/pkg1/bin1/file1' && ! -e 'bin1' -f '../stow/pkg1/bin1/file1' && ! -e 'bin1'
=> 'unstow a simple tree' => 'unstow a simple tree'
); );
@ -51,7 +51,7 @@ make_link('lib2/file2', '../../stow/pkg2/lib2/file2');
$stow->plan_unstow('pkg2'); $stow->plan_unstow('pkg2');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f '../stow/pkg2/lib2/file2' && -d 'lib2' -f '../stow/pkg2/lib2/file2' && -d 'lib2'
=> 'unstow simple tree from a pre-existing directory' => 'unstow simple tree from a pre-existing directory'
); );
@ -73,7 +73,7 @@ make_link('bin3/file3b' => '../../stow/pkg3b/bin3/file3b'); # emulate stow
$stow->plan_unstow('pkg3b'); $stow->plan_unstow('pkg3b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'bin3' && -l 'bin3' &&
readlink('bin3') eq '../stow/pkg3a/bin3' readlink('bin3') eq '../stow/pkg3a/bin3'
=> 'fold tree after unstowing' => 'fold tree after unstowing'
@ -92,7 +92,7 @@ make_link('bin4/file4', '../../stow/pkg4/bin4/does-not-exist');
$stow->plan_unstow('pkg4'); $stow->plan_unstow('pkg4');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
! -e 'bin4/file4' ! -e 'bin4/file4'
=> q(remove invalid link owned by stow) => q(remove invalid link owned by stow)
); );
@ -128,7 +128,7 @@ make_file('../stow/pkg6b/bin6/file6');
$stow->plan_unstow('pkg6b'); $stow->plan_unstow('pkg6b');
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'bin6/file6' && -l 'bin6/file6' &&
readlink('bin6/file6') eq '../../stow/pkg6a/bin6/file6' readlink('bin6/file6') eq '../../stow/pkg6a/bin6/file6'
=> q(ignore existing link that points to a different package) => q(ignore existing link that points to a different package)
@ -152,7 +152,7 @@ stderr_like(
'no tasks to process when unstowing pkg7b' 'no tasks to process when unstowing pkg7b'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'stow/pkg7b' && -l 'stow/pkg7b' &&
readlink('stow/pkg7b') eq '../stow/pkg7a/stow/pkg7b' readlink('stow/pkg7b') eq '../stow/pkg7a/stow/pkg7b'
=> q(don't unlink any nodes under the stow directory) => q(don't unlink any nodes under the stow directory)
@ -178,7 +178,7 @@ stderr_like(
'no tasks to process when unstowing pkg8a' 'no tasks to process when unstowing pkg8a'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'stow2/pkg8b' && -l 'stow2/pkg8b' &&
readlink('stow2/pkg8b') eq '../stow/pkg8a/stow2/pkg8b' readlink('stow2/pkg8b') eq '../stow/pkg8a/stow2/pkg8b'
=> q(don't unlink any nodes under another stow directory) => q(don't unlink any nodes under another stow directory)
@ -200,7 +200,7 @@ make_file('../stow/pkg9b/man9/man1/file9.1');
$stow->plan_unstow('pkg9b'); $stow->plan_unstow('pkg9b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
!-l 'man9/man1/file9.1' !-l 'man9/man1/file9.1'
=> 'overriding existing documentation files' => 'overriding existing documentation files'
); );
@ -230,7 +230,7 @@ stderr_like(
'no tasks to process when unstowing pkg10c' 'no tasks to process when unstowing pkg10c'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('man10/man1/file10a.1') eq '../../../stow/pkg10a/man10/man1/file10a.1' readlink('man10/man1/file10a.1') eq '../../../stow/pkg10a/man10/man1/file10a.1'
=> 'defer to existing documentation files' => 'defer to existing documentation files'
); );
@ -250,7 +250,7 @@ make_link('man12/man1/file12.1' => '../../../stow/pkg12/man12/man1/file12.1');
$stow->plan_unstow('pkg12'); $stow->plan_unstow('pkg12');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
!-e 'man12/man1/file12.1' !-e 'man12/man1/file12.1'
=> 'ignore temp files' => 'ignore temp files'
); );
@ -266,7 +266,7 @@ stderr_like(
'no tasks to process when unstowing pkg12' 'no tasks to process when unstowing pkg12'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 $stow->get_conflict_count == 0
=> 'unstow already unstowed package pkg12' => 'unstow already unstowed package pkg12'
); );
@ -285,7 +285,7 @@ stderr_like(
'no tasks to process when unstowing pkg12 which was never stowed' 'no tasks to process when unstowing pkg12 which was never stowed'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 $stow->get_conflict_count == 0
=> 'unstow never stowed package pkg12' => 'unstow never stowed package pkg12'
); );
@ -341,7 +341,7 @@ make_link("$OUT_DIR/target/bin14", '../stow/pkg14/bin14');
$stow->plan_unstow('pkg14'); $stow->plan_unstow('pkg14');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f "$OUT_DIR/stow/pkg14/bin14/file14" && ! -e "$OUT_DIR/target/bin14" -f "$OUT_DIR/stow/pkg14/bin14/file14" && ! -e "$OUT_DIR/target/bin14"
=> 'unstow a simple tree with absolute stow dir' => 'unstow a simple tree with absolute stow dir'
); );
@ -360,7 +360,7 @@ make_link("$OUT_DIR/target/bin15", '../stow/pkg15/bin15');
$stow->plan_unstow('pkg15'); $stow->plan_unstow('pkg15');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f "$OUT_DIR/stow/pkg15/bin15/file15" && ! -e "$OUT_DIR/target/bin15" -f "$OUT_DIR/stow/pkg15/bin15/file15" && ! -e "$OUT_DIR/target/bin15"
=> 'unstow a simple tree with absolute stow and target dirs' => 'unstow a simple tree with absolute stow and target dirs'
); );

View file

@ -35,7 +35,7 @@ make_link('bin1', '../stow/pkg1/bin1');
$stow->plan_unstow('pkg1'); $stow->plan_unstow('pkg1');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f '../stow/pkg1/bin1/file1' && ! -e 'bin1' -f '../stow/pkg1/bin1/file1' && ! -e 'bin1'
=> 'unstow a simple tree' => 'unstow a simple tree'
); );
@ -52,7 +52,7 @@ make_link('lib2/file2', '../../stow/pkg2/lib2/file2');
$stow->plan_unstow('pkg2'); $stow->plan_unstow('pkg2');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f '../stow/pkg2/lib2/file2' && -d 'lib2' -f '../stow/pkg2/lib2/file2' && -d 'lib2'
=> 'unstow simple tree from a pre-existing directory' => 'unstow simple tree from a pre-existing directory'
); );
@ -74,7 +74,7 @@ make_link('bin3/file3b' => '../../stow/pkg3b/bin3/file3b'); # emulate stow
$stow->plan_unstow('pkg3b'); $stow->plan_unstow('pkg3b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'bin3' && -l 'bin3' &&
readlink('bin3') eq '../stow/pkg3a/bin3' readlink('bin3') eq '../stow/pkg3a/bin3'
=> 'fold tree after unstowing' => 'fold tree after unstowing'
@ -93,7 +93,7 @@ make_link('bin4/file4', '../../stow/pkg4/bin4/does-not-exist');
$stow->plan_unstow('pkg4'); $stow->plan_unstow('pkg4');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
! -e 'bin4/file4' ! -e 'bin4/file4'
=> q(remove invalid link owned by stow) => q(remove invalid link owned by stow)
); );
@ -134,7 +134,7 @@ make_file('../stow/pkg6b/bin6/file6');
$stow->plan_unstow('pkg6b'); $stow->plan_unstow('pkg6b');
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'bin6/file6' && -l 'bin6/file6' &&
readlink('bin6/file6') eq '../../stow/pkg6a/bin6/file6' readlink('bin6/file6') eq '../../stow/pkg6a/bin6/file6'
=> q(ignore existing link that points to a different package) => q(ignore existing link that points to a different package)
@ -158,7 +158,7 @@ stderr_like(
'no tasks to process when unstowing pkg7b' 'no tasks to process when unstowing pkg7b'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'stow/pkg7b' && -l 'stow/pkg7b' &&
readlink('stow/pkg7b') eq '../stow/pkg7a/stow/pkg7b' readlink('stow/pkg7b') eq '../stow/pkg7a/stow/pkg7b'
=> q(don't unlink any nodes under the stow directory) => q(don't unlink any nodes under the stow directory)
@ -184,7 +184,7 @@ stderr_like(
'no tasks to process when unstowing pkg8a' 'no tasks to process when unstowing pkg8a'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-l 'stow2/pkg8b' && -l 'stow2/pkg8b' &&
readlink('stow2/pkg8b') eq '../stow/pkg8a/stow2/pkg8b' readlink('stow2/pkg8b') eq '../stow/pkg8a/stow2/pkg8b'
=> q(don't unlink any nodes under another stow directory) => q(don't unlink any nodes under another stow directory)
@ -206,7 +206,7 @@ make_file('../stow/pkg9b/man9/man1/file9.1');
$stow->plan_unstow('pkg9b'); $stow->plan_unstow('pkg9b');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
!-l 'man9/man1/file9.1' !-l 'man9/man1/file9.1'
=> 'overriding existing documentation files' => 'overriding existing documentation files'
); );
@ -236,7 +236,7 @@ stderr_like(
'no tasks to process when unstowing pkg10c' 'no tasks to process when unstowing pkg10c'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
readlink('man10/man1/file10a.1') eq '../../../stow/pkg10a/man10/man1/file10a.1' readlink('man10/man1/file10a.1') eq '../../../stow/pkg10a/man10/man1/file10a.1'
=> 'defer to existing documentation files' => 'defer to existing documentation files'
); );
@ -256,7 +256,7 @@ make_link('man12/man1/file12.1' => '../../../stow/pkg12/man12/man1/file12.1');
$stow->plan_unstow('pkg12'); $stow->plan_unstow('pkg12');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
!-e 'man12/man1/file12.1' !-e 'man12/man1/file12.1'
=> 'ignore temp files' => 'ignore temp files'
); );
@ -272,7 +272,7 @@ stderr_like(
'no tasks to process when unstowing pkg12' 'no tasks to process when unstowing pkg12'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 $stow->get_conflict_count == 0
=> 'unstow already unstowed package pkg12' => 'unstow already unstowed package pkg12'
); );
@ -291,7 +291,7 @@ stderr_like(
'no tasks to process when unstowing pkg12 which was never stowed' 'no tasks to process when unstowing pkg12 which was never stowed'
); );
ok( ok(
scalar($stow->get_conflicts) == 0 $stow->get_conflict_count == 0
=> 'unstow never stowed package pkg12' => 'unstow never stowed package pkg12'
); );
@ -347,7 +347,7 @@ make_link("$OUT_DIR/target/bin14", '../stow/pkg14/bin14');
$stow->plan_unstow('pkg14'); $stow->plan_unstow('pkg14');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f "$OUT_DIR/stow/pkg14/bin14/file14" && ! -e "$OUT_DIR/target/bin14" -f "$OUT_DIR/stow/pkg14/bin14/file14" && ! -e "$OUT_DIR/target/bin14"
=> 'unstow a simple tree with absolute stow dir' => 'unstow a simple tree with absolute stow dir'
); );
@ -366,7 +366,7 @@ make_link("$OUT_DIR/target/bin15", '../stow/pkg15/bin15');
$stow->plan_unstow('pkg15'); $stow->plan_unstow('pkg15');
$stow->process_tasks(); $stow->process_tasks();
ok( ok(
scalar($stow->get_conflicts) == 0 && $stow->get_conflict_count == 0 &&
-f "$OUT_DIR/stow/pkg15/bin15/file15" && ! -e "$OUT_DIR/target/bin15" -f "$OUT_DIR/stow/pkg15/bin15/file15" && ! -e "$OUT_DIR/target/bin15"
=> 'unstow a simple tree with absolute stow and target dirs' => 'unstow a simple tree with absolute stow and target dirs'
); );