diff options
author | ngie <ngie@FreeBSD.org> | 2017-07-19 15:59:51 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2017-07-19 15:59:51 +0000 |
commit | 17463d6970c66db756b3de17e8f52d02b564231c (patch) | |
tree | d62fba6c3acd309283679f666b41c9010192f51c | |
parent | 48ce3b4e3aea30b479095da20d7f04ed723e8451 (diff) | |
download | FreeBSD-src-17463d6970c66db756b3de17e8f52d02b564231c.zip FreeBSD-src-17463d6970c66db756b3de17e8f52d02b564231c.tar.gz |
MFC r312521,r313397:
r312521:
Add testcases for -i with hardlinks and symlinks
The symlink testcase is expected to fail, post-r312519 (the revert of
r312404); mark it so.
r313397:
Don't expect :inplace_symlink_src to fail anymore (post-r313277)
The S_ISREG check was restored, such that the code will again fail with
in-place replacements on symlinks
-rw-r--r-- | usr.bin/sed/tests/Makefile | 1 | ||||
-rwxr-xr-x | usr.bin/sed/tests/sed2_test.sh | 59 |
2 files changed, 60 insertions, 0 deletions
diff --git a/usr.bin/sed/tests/Makefile b/usr.bin/sed/tests/Makefile index 5bceaf8..216d320 100644 --- a/usr.bin/sed/tests/Makefile +++ b/usr.bin/sed/tests/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +ATF_TESTS_SH+= sed2_test NETBSD_ATF_TESTS_SH+= sed_test TAP_TESTS_SH= legacy_test TAP_TESTS_SH+= multi_test diff --git a/usr.bin/sed/tests/sed2_test.sh b/usr.bin/sed/tests/sed2_test.sh new file mode 100755 index 0000000..a32f09d --- /dev/null +++ b/usr.bin/sed/tests/sed2_test.sh @@ -0,0 +1,59 @@ +# +# Copyright 2017 Dell EMC. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ +# + +atf_test_case inplace_hardlink_src +inplace_hardlink_src_head() +{ + atf_set "descr" "Verify -i works with a symlinked source file" +} +inplace_hardlink_src_body() +{ + echo foo > a + atf_check ln a b + atf_check sed -i '' -e 's,foo,bar,g' b + atf_check -o 'inline:bar\n' -s exit:0 cat b +} + +atf_test_case inplace_symlink_src +inplace_symlink_src_head() +{ + atf_set "descr" "Verify -i works with a symlinked source file" +} +inplace_symlink_src_body() +{ + echo foo > a + atf_check ln -s a b + atf_check -e not-empty -s not-exit:0 sed -i '' -e 's,foo,bar,g' b +} + +atf_init_test_cases() +{ + atf_add_test_case inplace_hardlink_src + atf_add_test_case inplace_symlink_src +} |