git: 81df03281359 - main - cp: Improve to_root test case.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 31 May 2025 18:08:39 UTC
The branch main has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=81df032813595a7c79e55bcba0c4e5d660451b58
commit 81df032813595a7c79e55bcba0c4e5d660451b58
Author: Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2025-05-31 18:07:57 +0000
Commit: Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2025-05-31 18:08:12 +0000
cp: Improve to_root test case.
Since the bug we're testing involved path name construction, we don't
need to be root to test it; we can simply check the error message.
Fixes: 537fbf70f12b
Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D50628
---
bin/cp/tests/cp_test.sh | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/bin/cp/tests/cp_test.sh b/bin/cp/tests/cp_test.sh
index 8511904a0e33..5e9a1899ff75 100755
--- a/bin/cp/tests/cp_test.sh
+++ b/bin/cp/tests/cp_test.sh
@@ -573,22 +573,23 @@ dstmode_body()
atf_test_case to_root cleanup
to_root_head()
{
- atf_set "require.user" "root"
+ atf_set "require.user" "unprivileged"
}
to_root_body()
{
- dst="$(atf_get ident).$$"
+ dst="test.$(atf_get ident).$$"
echo "$dst" >dst
echo "foo" >"$dst"
- atf_check cp "$dst" /
- atf_check cmp -s "$dst" "/$dst"
- atf_check rm "/$dst"
- atf_check cp "$dst" //
- atf_check cmp -s "$dst" "/$dst"
+ atf_check -s not-exit:0 \
+ -e match:"^cp: /$dst: (Permission|Read-only)" \
+ cp "$dst" /
+ atf_check -s not-exit:0 \
+ -e match:"^cp: /$dst: (Permission|Read-only)" \
+ cp "$dst" //
}
to_root_cleanup()
{
- (dst=$(cat dst) && [ -n "/$dst" ] && [ -f "/$dst" ] && rm "/$dst") || true
+ (dst=$(cat dst) && rm "/$dst") 2>/dev/null || true
}
atf_init_test_cases()