Adam Spiers
34421ba5cf
stow_contents: fix bugs and corner cases with type mismatch conflicts
...
If the target directory as a file named X and a package has a
directory named X, or vice-versa, then it is impossible for Stow
to stow that entry X from the package, even if --adopt is supplied.
However we were previously only handling the former case, and not the
latter, and the test for the former was actually broken. So fix
stow_contents() to handle both cases correctly, fix the broken test,
and add a new test for the latter case.
2024-04-07 17:21:10 +01:00
Adam Spiers
bca711fac2
tests: use stderr_like() instead of home-grown STDERR capturing
...
The STDERR capturing in testutil just reinvents Test::Output which
we already use in chkstow.t, so it's pointless to reinvent that wheel.
2024-04-06 11:33:18 +01:00
Adam Spiers
4cde7eb19f
t/stow.t: fix typos, whitespace, and ordering of lines
2024-04-01 23:58:17 +01:00
Adam Spiers
1282acf6b5
t/stow: use like() instead of ok(... =~ /.../)
2024-04-01 23:58:17 +01:00
Adam Spiers
a328c2cd4b
t/stow: convert to subtests()
2024-04-01 22:39:32 +01:00
Adam Spiers
e4f6a6742b
Add examples of how to enable debugging in tests
2019-06-28 15:24:50 +01:00
Adam Spiers
6233298a91
Replace testutil::make_dir with File::Path::make_path
...
No need for a custom function here.
2019-06-28 01:02:48 +01:00
Adam Spiers
ba48fd3908
Rename $OUT_DIR to $TEST_DIR
...
This is a more accurate reflection of what it is.
2019-06-28 00:53:12 +01:00
Adam Spiers
0979a9c7bd
Change #!/usr/local/bin/perl to #!/usr/bin/perl in t/*.t
...
This doesn't really matter, since these are not executed directly, but
it's more consistent with everything else and modern systems.
2019-06-27 20:37:50 +01:00
Adam Spiers
27796720d5
Upgrade to GPL v3 and add headers to files ( #44 )
...
Following advice from maintainers@gnu.org , bring Stow in line with
other GNU projects by upgrading it from GPL v2 to v3
https://www.gnu.org/prep/maintain/html_node/Licensing-of-GNU-Packages.html#Licensing-of-GNU-Packages
as obtained in plain text and texinfo formats from
https://www.gnu.org/licenses/
and adding appropriate headers:
https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Code.html#License-Notices-for-Code
Fixes #44 : https://github.com/aspiers/stow/issues/44
2019-06-27 20:37:40 +01:00
Adam Spiers
7b43622dd9
fix stowing of relative links when --no-folding is used
...
With a tree like this:
.
|-- stow
| `-- pkg
| `-- lib
| |-- itk-current -> itk4.0.0
| `-- itk4.0.0
| `-- libitk4.0.0.so
`-- target
`-- lib
|-- itk4.0.0 -> ../../stow/pkg/lib/itk4.0.0
`-- libfoo-1.2.3.so
stowing pkg with the --no-folding option resulted in itk-current
being "unpacked":
.
`-- target
`-- lib
|-- itk-current
| `-- libitk4.0.0.so -> ../../../stow/pkg/lib/itk-current/libitk4.0.0.so
|-- itk4.0.0
| `-- libitk4.0.0.so -> ../../../stow/pkg/lib/itk4.0.0/libitk4.0.0.so
`-- libfoo-1.2.3.so
This commit fixes it so that it gets stowed as a symlink:
.
`-- target
`-- lib
...
|-- itk-current -> ../../stow/pkg/lib/itk-current
...
Thanks to Gabriele Balducci for reporting this problem:
http://thread.gmane.org/gmane.comp.gnu.stow.general/6676
2015-01-01 19:02:46 +00:00
Adam Spiers
07a84541f1
make it more obvious when target (sub)directory is skipped
...
This should avoid the sort of confusion seen in:
https://github.com/aspiers/shell-env/issues/1
2014-09-23 01:37:54 +01:00
Adam Spiers
497a067621
trim trailing whitespace
2014-09-23 01:37:54 +01:00
Adam Spiers
ed12c787df
Add --no-folding option.
2012-02-18 20:33:34 +00:00
Adam Spiers
91c816e32d
Use make_invalid_link() to reliably setup symlink fixtures.
2012-02-18 20:33:34 +00:00
Adam Spiers
1847b36e18
Make shared library tests match real-world scenarios.
...
Typically, libfoo.so.X.Y.Z is the file, and libfoo.so is the symlink
which points to it.
2012-02-18 12:28:00 +00:00
Adam Spiers
8357dca645
Remove "There are no outstanding operations to perform" warning.
...
This is more in keeping with the UNIX convention of no output on success,
and is also the way Stow v1.x behaved. Thanks to Adam Sampson for the suggestion.
2012-01-11 14:01:40 +00:00
Adam Spiers
0c6d5639e3
Rename test files to reflect their purpose.
2012-01-09 22:12:49 +00:00
Adam Spiers
c3c866a00b
Rename stow.t to be more consistent with its purpose.
2012-01-09 22:12:49 +00:00
Adam Spiers
bcac91d68a
Remove quote stripping code.
...
I'm guessing it was added due to a misunderstanding of how shell
quoting works. When you invoke
stow --ignore=".#.*" ...
the shell strips out the quotes before the Perl process ever sees them.
I can't imagine any sensible scenario in which you would need to invoke
stow --ignore='"foo"'
but if the user has a filename containing quotes at the beginning and
end, they can now choose to ignore it (prior to this patch, they couldn't).
2011-11-26 16:34:57 +00:00
Adam Spiers
10ea9c6f4b
Numerous fixes so that `make distcheck' succeeds.
...
Moves temporary test trees into a separate directory.
2011-11-26 16:34:57 +00:00
Adam Spiers
0db112441f
Strip superfluous quotes from $hash{'lookups'}
2011-11-26 16:34:54 +00:00
Adam Spiers
ea82ef5b8b
Add support for ignore lists.
2011-11-26 16:34:48 +00:00
Adam Spiers
dc61da22d4
Major refactoring of code into separate Stow and Stow::Util Perl modules
2011-11-24 16:56:11 +00:00
Adam Spiers
4296500c94
Fix t/stow.t
2011-11-24 16:55:52 +00:00
Adam Spiers
0473d3f8ba
Grafted root commit from savannah git master:
...
38dcdcb08c
Initial Import
2011-11-16 14:04:03 +00:00