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()