aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2023-12-13 23:33:29 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2023-12-13 23:33:37 +0000
commitd3a8e9b43b4cef5b80e3845dfa8fd1fec6e568f9 (patch)
treed94ef7b726e3e701f022c321a0e3f19aaae2d205
parentff7c12c1f17e52337169d8ce48433fae96a9c9db (diff)
downloadsrc-d3a8e9b43b4cef5b80e3845dfa8fd1fec6e568f9.tar.gz
src-d3a8e9b43b4cef5b80e3845dfa8fd1fec6e568f9.zip
cp: Add tests for symbolic link case.
MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, allanjude Differential Revision: https://reviews.freebsd.org/D43054
-rwxr-xr-xbin/cp/tests/cp_test.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/bin/cp/tests/cp_test.sh b/bin/cp/tests/cp_test.sh
index 52f33c93d31a..a9e419bb39a9 100755
--- a/bin/cp/tests/cp_test.sh
+++ b/bin/cp/tests/cp_test.sh
@@ -322,6 +322,34 @@ standalone_Pflag_body()
atf_check -o inline:'Symbolic Link\n' stat -f %SHT baz
}
+atf_test_case symlink
+symlink_body()
+{
+ echo "foo" >foo
+ atf_check cp -s foo bar
+ atf_check -o inline:"foo\n" cat bar
+ atf_check -o inline:"foo\n" readlink bar
+}
+
+atf_test_case symlink_exists
+symlink_exists_body()
+{
+ echo "foo" >foo
+ echo "bar" >bar
+ atf_check -s not-exit:0 -e match:exists cp -s foo bar
+ atf_check -o inline:"bar\n" cat bar
+}
+
+atf_test_case symlink_exists_force
+symlink_exists_force_body()
+{
+ echo "foo" >foo
+ echo "bar" >bar
+ atf_check cp -fs foo bar
+ atf_check -o inline:"foo\n" cat bar
+ atf_check -o inline:"foo\n" readlink bar
+}
+
atf_init_test_cases()
{
atf_add_test_case basic
@@ -343,4 +371,7 @@ atf_init_test_cases()
atf_add_test_case sparse_to_dev
atf_add_test_case sparse_trailing_hole
atf_add_test_case standalone_Pflag
+ atf_add_test_case symlink
+ atf_add_test_case symlink_exists
+ atf_add_test_case symlink_exists_force
}